本文转自测试人社区,原文链接: https://ceshiren.com/t/topic/31843
一、playwright简介
1.1 playwright定义
- Web自动化测试框架;
- 支持跨平台多语言;
- 支持Chrome、FireFox、Webkit等主流浏览器自动化操作。
1.2 playwright优点
- 支持所有流行的浏览器;
- 速度更快、执行更可靠;
- 更强大的自动化测试配置;
- 强大的工具库:Codegen、Playwright inspector、Trace Viewer。
1.3 playwright原理
二、playwright与selenium对比
项目 | playwright | selenium |
是否需要驱动 | 否 | 需要对应浏览器WebDriver |
支持语言 | Java,Python,JavaScript | Java,Python,Ruby,JavaScript,C#等 |
支持浏览器 | Chrome,FireFox等 | Chrome、FireFox等 |
通讯方式 | websocket双向通讯协议 | http单向通讯协议 |
使用的测试框架 | 无限制(pytest,unittest) | 无限制(pytest,unittest) |
测试速度 | 快 | 慢 |
录制测试视频、快照 | 支持 | 支持 |
社区支持 | 微软 | ThoughtWorks公司 |
三、playwright核心工具
- Codegen:通过记录用户的操作来生成测试,将它们保存为任何语言;
- playwright inspector:检查页面、生成选择器、逐步执行测试、查看点击点、探索执行日志;
- Trace Viewer:捕获所有信息,以调查测试失败。playwright跟踪包含测试执行截屏、实时DOM快照、动作资源管理器、测试源等等。
三、playwright环境安装
- 安装playwright插件:
pip install pytest-playwright
- 安装所需的浏览器:
playwright install
四、Codegen
4.1 用法
4.2 保存登录状态
- 场景:单点登录、验证码问题
五、playwright常用API
常用API | 含义 |
start() | 实例化playwright |
chromium().launch() | 打开chrome浏览器 |
new_page() | 打开一个窗口页面 |
page.goto() | 跳转到某个地址 |
page.locator(““) | 定位某个元素 |
click() | 点击元素 |
fill() | 输入内容 |
keyboard().down() | 键盘事件 |
screenshot() | 截图操作 |