playwright实战-渠道应用操作

  1. 单文件手工测试流程如下:
  2. 代码如下:
python 复制代码
from playwright.sync_api import sync_playwright
import os,time
LOGIN_STATUS="login_status.json"

with sync_playwright() as p:
    browser=p.chromium.launch(headless=False)
    if os.path.exists(LOGIN_STATUS):
        print("检测已登陆,直接加载页面")
        context=browser.new_context(storage_state=LOGIN_STATUS)
        page=context.new_page()
        page.goto("https://yxf.xinproptech.com/admin-tenant/#/index")
        print("已经登陆进入后台url:",page.url)
    else:
        print("检测未登录,开始登录")
        context=browser.new_context()
        page=context.new_page()
        #开始登录
        page.goto("https://yxf.xinproptech.com/admin-tenant/#/login")
        page.get_by_placeholder("请输入企业号").fill("ydhl")
        page.get_by_placeholder("请输入用户名").fill("ganfeimei")
        page.get_by_placeholder("请输入密码").fill("123456")
        page.get_by_role("button", name="登录").click()
        page.wait_for_url("**/index")
        print("当前 Cookies:", context.cookies())
    #保存登录信息
    context.storage_state(path=LOGIN_STATUS)
    print("登陆状态已保存")
    time.sleep(1)
    with page.expect_popup() as page1_info:
        page.locator("a").filter(has_text="渠道管家").click()

    page1=page1_info.value
    print("渠道管家url:",page1.url)
    #点击客户管理-进入
    time.sleep(1)
    page1.locator(".el-submenu.is-active > .el-submenu__title").click()
    page1.get_by_role("menuitem",name=" 客户台账 ").click()
    page1.get_by_role("menuitem", name=" 客户台账 ").wait_for(state="visible")
    print("客户管理url:", page1.url)
    #点击搜索
    page1.get_by_role("button", name="搜索").click()
    page1.get_by_role("button", name="查看详情").first.wait_for(state="visible")
    page1.screenshot(path="a2.png")
    #查看详情页面-关闭想去页面
    page1.get_by_role("button", name="查看详情").first.click()
    page1.get_by_role("button", name="Close").click()
    time.sleep(1)
    context.close()
    browser.close()

测试结果:

相关推荐
沐晓时光1 小时前
C语言入门,内存函数知识讲解
c语言·开发语言
曦樂~4 小时前
【Web Development】02 CSS
前端·css
风骏时光牛马4 小时前
后端服务接口开发与数据逻辑处理
前端
东鹏特饮4 小时前
经典打砖块(Breakout)游戏
前端·css·css3
IT_陈寒4 小时前
Vite的HMR把我整不会了:一个生产环境的热更新坑
前端·人工智能·后端
Mh5 小时前
如何使用双缓冲优化视频切换
前端
用户956256254295 小时前
跟做:Firecrawl 单页转 Markdown 再丢进沙箱总结
python·api
risenav5 小时前
低头蓄力,抬头起跳:《萤虫跳跳》的 Rokid AIUI 开发实战
前端
威哥爱编程5 小时前
模拟面试智能体开发实战 02:回答等半分钟,谁还愿意练?把服务端和流式输出搭起来
python·agent·harmonyos
ZhengEnCi5 小时前
如何看待 Fable 5.2 用纯代码生成 1.4MB 视觉作品:光追、水面、倒影、火光的程序化生成原理
前端