Playwright介绍、特点、小例子还有与传统selenium的区别

介绍:

Playwright 是由微软开发并开源的一个现代化 Web 自动化测试框架。自2020年发布以来,它凭借可靠、快速、强大的特性,正在成为 Web 端到端(E2E)测试的新一代主流工具。

特点:

跨浏览器支持:统一的 API,就能在 Chrome、Edge、Firefox 、Safari三大主流浏览器引擎上运行测试,且不需要下载浏览器驱动,如selenium需要单独下载不同浏览器的驱动;

内置智能等待,告别"假失败":在执行点击、输入等任何操作前,它会自动等待元素变为可见、可操作和稳定,需要去写显示等待和隐示等待,还有可能因为等待设置市场不对导致找不到元素;

Web-First 断言,让检查更可靠:专门为动态 Web 应用设计的,它会自动重试,直到条件满足或超时,而不是只检查一次就失败,二不需要去设置失败重试次数;

测试隔离,并行执行互不干扰:每个测试都在独立的 "浏览器上下文" (Browser Context)中运行,相当于一个全新的、干净的浏览器会话。这使得测试可以安全、高效地并行执行,并且一个测试的失败完全不会影响其他测试;

强大的调试与追踪能力:当测试失败时,可以生成包含操作视频、DOM 快照、执行轨迹和网络请求的详细报告,帮助你快速定位问题根源;

通信协议:playwright基于 WebSocket,持久连接,速度更快,而selenium基于http协议,每次操作都需要重新连接;

环境:

1、安装python高版本:必须python3.7+,如果你电脑的python是低于python3.7是无法安装playwright,需要重新安装高版本(如果历史你有老项目的话建议不卸载,他将影响你老项目的运行比如报错崩溃),可重新安装一个目录,在配置环境变量path;

2、pycharm软件建立新项目时,可以选择新版本的python解释器;

3、安装pip:如果你的安装命令pip还是老版本解释器(原因pip安装在老版本解释器上),需要重新安装pip。python -m pip install --upgrade --force-reinstall pip

4、安装playwright包:命令如下pip install playwright

5、安装浏览器二进制文件:命令入下:playwright install

示例

playwright

  1. 启动浏览器-》打开百度页面-》打印页面标题-》关闭浏览器
  2. 代码如下:
python 复制代码
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch() #浏览器对象实例化,启动浏览器
    page = browser.new_page()   #创建空白页面
    page.goto("https://www.baidu.com") #根据url建立连接
    print("页面标题:", page.title()) #打印页面标题
    browser.close()  #关闭浏览器

结果如下:

selenium

  1. 启动浏览器-》打开百度页面-》打印页面标题-》关闭浏览器

  2. 代码如下:

python 复制代码
from selenium import webdriver

driver=webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.baidu.com")
print(driver.title)
driver.close()

结果入下:

得出结论:

1、playwright:launch() 的默认值是 headless=True(无头模式)。在无头模式下,浏览器在后台运行,没有图形界面,且架构/驱动程序(Playwright 捆绑浏览器二进制文件,所以无需驱动程序;---所以没有弹出浏览器页面,直接得出结果,速度更快;

2、selenium:必须下载同浏览器相匹配的浏览器驱动,需要通过浏览器驱动打开浏览器,速度慢,且还需要等待页面加载;

相关推荐
把头塞进显示器5 天前
电商平台-测试报告
python·selenium·pytest
霍格沃兹测试学院-小舟畅学6 天前
UI 测试的语义断言:Midscene aiAssert 比像素比对稳在哪、又会骗在哪
人工智能·测试工具
zuozewei6 天前
附录 A:主流工具对比选型表
人工智能·测试工具
我的xiaodoujiao6 天前
Django 基础知识详细图文教程 10-Django 模板引擎 3
后端·python·测试工具·django
霍格沃兹测试学院-小舟畅学6 天前
Google 开源 ARTEMIS:AI Agent 如何接管 Android 真机测试?
人工智能·测试工具
Liaiyang666 天前
# 自研 AST 容错初筛工具:横向评测 Django、PyTorch、TensorFlow 三大开源 Python 框架异常收容风险
python·测试工具·自动化·开源软件·代码规范·devops·代码复审
霍格沃兹测试学院-小舟畅学6 天前
我用 AI 把 Swagger 变成 500 条 pytest 用例,回归从 3 天到 3 小时
人工智能·测试工具
奔跑中的小象7 天前
GuideLLM 压测实战指南:给大模型推理服务做一次完整 SLA 评估
测试工具·guidellm
夜郎king7 天前
基于 Java + Playwright 实现网站自动访问与数据采集(以腾讯云开发者社区为例)
java·playwright·网页数据获取
cpolar技术支持7 天前
本地 Playwright 测试报告怎么远程复盘?Trace Viewer 跑起来后,用 cpolar 分享失败现场
前端·自动化测试·测试工具·cpolar·playwright