首页 > 其他分享 >webui自动化框架-playwright

webui自动化框架-playwright

时间:2024-03-20 11:11:21浏览次数:26  
标签:playwright webui context 自动化 new chromium page browser

playwright中文文档

Playwright 为现代 web 应用提供了跨浏览器、快速且可靠的端到端的测试能力。 | Playwright 中文文档 | Playwright 中文网 (bootcss.com)

playwright安装

pip install playwright

playwright-浏览器安装

playwright的nohead模式需要在本地安装浏览器的内核

playwright install

交互方式playwright直接操作浏览器,不在需要对应的driver层

playwright-demo 同步模式
with sync_playwright() as p:
    #启动浏览器,默认是True无头模式
    browser = p.chromium.launch(headless=False) 
    #打开一个标签页
    page = browser.new_page()
    #访问目标网址
    page.goto("https://www.baidu.com")
    print(page.title)
    #关闭浏览器
    broswer.close()
异步模式-python3.7特性
import asyncio
from playwright.async_api import async_playwright


with async_playwright() as p:
    browser = await p.chromium.launch(headless = True)
    page = await browser.new_page()
    await page.goto("https://www.baidu.com)
    print(await page.title)
    await browser.close()
playwright-脚本录制生成

playwright codegen dest_url

playwright codegen playwright.dev #打开一个空白页面

playwright-pytest运行

pip install pytest-playwright

playwright-登录token 存储token

playwright codegen --save-storage=auth.json

使用token

playwright codegen --load-storage=auth.json destination_url

playwright-元素拾取器 pick locator

playwright-console定位 playwright-断点

page.pause()

playwright-页面最大化
browser = p.chromium.launch(headless=False, args=[--start-maximiszed])
context = browser.new_context(no_viewport=True)
page = context.new_page()

或者

browser = p.chromium.launch(headless=False, args=[--start-maximiszed])
page = browser.new_page(no_viewport=True)
playwright-浏览器选择
browser = p.chromium.launch(channel="msedge")
playwright-使用本地缓存
context = p.chromium.launch_persistent_context(user_data_dir=Path})

playwright-录制视频

browser = p.chromium.launch(headless=False, slow_mo=500)
context = browser.new_content(record_video_dir="videos/")
context.close()
playwright-trace追踪
context = browser.new_context()
context.tracing.start(screenshots=True, snapshots=True, sources=True)


page = context.new_page()


context.tracing.stop(path="trace.zip")

trace数据会保存在trace.zip下

trace数据读取方法

playwright show-trace trace.zip

playwright-等待页面加载完成
with page.expect_navigation(url="**/GPT-4"):
    page.get_by_role("button", name="xxx").click()
playwright-使用cookie
context = browser.new_context(storage_state="auth.json")

标签:playwright,webui,context,自动化,new,chromium,page,browser
From: https://www.cnblogs.com/watch2learn/p/18084815

相关文章

  • 快速上手App自动化测试利器,Toast原理解析及操作实例
    简介Toast是一种轻量级的消息提示,常常以小弹框的形式出现,一般出现1到2秒会自动消失,可以出现在屏幕上中下任意位置。Toast具有如下的特点:无法被点击,不同于Dialog,永远不会获得焦点。Toast显示的时间有限,Toast会根据用户设置的显示时间后自动消失是系统级别的控件,属于......
  • 利用CrewAI框架打造高效自动化周报系统:告别手动报告,迎接智能协作
    在日常工作中,编写个人和团队的工作周报是一项既繁琐又枯燥的任务。幸运的是,这种场景非常适合利用人工智能(AI)技术来简化。尽管市面上已有多种基于GPT的智能体,如国内的文心一言、讯飞星火、智谱清言等,它们能够对用户提供的内容进行总结,但如果没有用户输入,它们便无法凭空创造内容......
  • 使用Selenium执行JavaScript脚本:探索Web自动化的新领域
    前言在我们使用selenium进行自动化测试的时候,selenium能够帮助我们实现元素定位和点击输入等操作,但是有的时候,我们会发现,即使我们的元素定位没有问题,元素也无法执行操作;也有部分情况是我们无法直接定位滚动条河时间控件来进行操作,这个时候,我们就需要借助JavaScript来解决问题。......
  • 自动化办公:Python如何操控Excel(详细教程)
    1.准备环境Python版本:3.6.5IDE集成开发环境:pycharmPython库选择:openpyxlopenpyxl操作的excel文件以xlsx结尾。openpyxl官网基础命令查看Python版本python--version查看pip版本pip--version安装openxlsxpipinstallopenpyxl-ihttps://pypi.tuna.......
  • APP自动化第一步:Appium环境搭建
    一、安装AppiumPythonclient包1.直接cmd窗口输入pipinstallAppium-Python-Client2.要确保安装匹配版本的selenium和appium使用命令pipinstallselenium-U首先进入网盘下载这三个软件的压缩包二、安装AppiumServer1.双击打开压缩包Appium2.双击进行安装。 3.......
  • 强大易用!新一代爬虫利器 Playwright 的介绍
    Playwright是微软在2020年初开源的新一代自动化测试工具,它的功能类似于Selenium、Pyppeteer等,都可以驱动浏览器进行各种自动化操作。它的功能也非常强大,对市面上的主流浏览器都提供了支持,API功能简洁又强大。虽然诞生比较晚,但是现在发展得非常火热。因为Playwright......
  • python自动化——自动化框架常用封装代码复习
    日志模块:importloggingimportosdefcreat_log(name="mylog",level="DEBUG",filename="log.log",sh_level="DEBUG",fh_level="DEBUG"):log=logging.getLogger(name)log.setLevel(level)fh=lo......
  • UI自动化测试中公认最佳的设计模式-POM
    p>什么是POM?POM是PageObjectModule(页面对象模式)的缩写,其目的是为了WebUI测试创建对象库。在这种模式下,应用涉及的每一个页面应该定义为一个单独的类。类中应该包含此页面上的页面元素对象和处理这些元素对象所需要的方法等。将流程所关联的页面作为对象,将对象串联起来,形成一个个......
  • UI自动化关键字驱动的简单设计思路
    步骤一:定义关键字首先,我们定义一些与登录功能相关的关键字,如:打开页面:用于打开指定的Web页面。输入文本:用于在输入框中输入文本。点击按钮:用于模拟点击按钮的动作。验证文本:用于验证页面上是否显示指定的文本。步骤二:设计测试用例接下来,我们设计一个登录功能的测试用例。这......
  • 自动化测试框架、Python面向对象以及POM设计模型简介
    1 自动化测试框架概述   所谓的框架其实就是一个解决问题的思维,前言中描述的诸多问题如果得到解决,自然而然这种得到良好解决的东西它就可以称之为一个框架,只是这个框架用来解决如何组织开展自动化测试。一个典型的自动化测试框架一般包括测试用例集模块、测试执行控制模块......