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()

测试结果:

相关推荐
asdzx671 小时前
Python 解析 Excel 数据、图片与图表的实现方案
python·excel
砚底藏山河1 小时前
存储选型实战:CSV-SQLite-MySQL同机基准(魔码量化实战 #02)
java·数据库·python·金融·maven
陈年老古董1 小时前
Python模拟MapReduce分治思想 | 从单文件统计到大文件拆分聚合 学习笔记
开发语言·hadoop·笔记·python·学习
quantdash_cc1 小时前
数据 API 的稳定性应该如何长期监控?从量化数据监控体系到 QuantDash 实践
开发语言·python·数据分析·量化交易·股票数据·quantdash
水龙吟啸1 小时前
华为研发岗AI方向9.9机考题复盘&分析
人工智能·python·算法·华为
lhldsg1 小时前
从零构建智慧场馆解决方案小程序:开发全流程实战
java·前端·小程序
nanawinona1 小时前
先跑通小流程,再扩展量化功能
人工智能·python
hongyucai1 小时前
一个碗引发的血案
python·几何学·拓扑学
佳児素花痴╮1 小时前
C++速通2
开发语言·c++·算法