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:必须下载同浏览器相匹配的浏览器驱动,需要通过浏览器驱动打开浏览器,速度慢,且还需要等待页面加载;

相关推荐
chuntian_tester12 小时前
测试中的提示词工程
人工智能·测试工具·ai
测试狗科研平台17 小时前
电池材料表征、电芯制备与性能测试--测试狗先进能源中试服务
科技·测试工具·材料工程
啊阿狸不会拉杆1 天前
《计算机网络-自顶向下方法》2.8 小结、课后习题和 Wireshark 实验 读书笔记
计算机网络·测试工具·wireshark·因特网
PS测2 天前
Linux压力测试工具stress,能精确控制 CPU、内存、IO 负载类型和持续时间
测试工具
2601_962387822 天前
web自动化测试实战教程【selenium/unittest/pytest】【共193课
selenium·pytest·devops·web自动化测试·unittest
qianshi12132 天前
涂层划痕测试仪-精准评估涂层附着力,兼顾科研与工业质量检测
经验分享·测试工具·百度
PhotonixBay2 天前
3D共聚焦显微镜与探针式粗糙度仪:谁更适合亚表面损伤检测?
图像处理·人工智能·测试工具·3d
2601_962297252 天前
Python、Pytest、Allure、Selenium和Jenkins实现自动化测试集成实例
python·selenium·jenkins·pytest·allure
qianshi12132 天前
电化学腐蚀摩擦磨损试验机的工作原理、操作流程、适用范围行业和产品特点
测试工具·百度