playwright是由微软开发的Web UI自动化测试工具, 支持Node.js、Python、C# 和 Java语言,本文将介绍playwright的特性以及它的简单使用。
目录
目录
playwright特性
playwright具有以下特点:
一、支持所有主流浏览器
- 支持所有主流浏览器:基于Chromium内核的Google Chrome 和 Microsoft Edge浏览器), WebKit内核的Apple Safari 和 Mozilla Firefox浏览器,不支持IE11。
- 跨平台:Windows、Linux 和macOS
- 可用于模拟移动端WEB应用的测试,不支持在真机上测试。
- 支持无头模式(默认)和有头模式
二、快速可靠的执行
- 自动等待元素
- Playwright基于Websocket协议,可以接受浏览器(服务端)的信号。selenium采用的是HTTP协议,只能客户端发起请求。
- 浏览器上下文并行:单个浏览器实例下创建多个浏览器上下文,每个浏览器上下文可以处理多个页面。
- 有弹性的元素选择:可以使用文本、可访问标签选择元素。
三、强大的自动化能力
- playwright是一个进程外自动化驱动程序,它不受页面内JavaScript执行范围的限制,可以自动化控制多个页面。
- 强大的网络控制:Playwright 引入了上下文范围的网络拦截来存根和模拟网络请求。
- 现代web特性:支持Shadow DOM选择,元素位置定位,页面提示处理,Web Worker等Web API。
- 覆盖所有场景:支持文件下载、上传、OOPIF(out-of-process iframes),输入、点击,暗黑模式等。
安装
Playwright有Node.js、Python、C# 和 Java语言版本,本文介绍Python版本的Playwright使用方法。
Playwright的Python版本仓库地址:https://github.com/microsoft/playwright-python
官方文档地址:Getting started | Playwright Python
Playwright安装简单,pip安装时会自动下载浏览器驱动:
pip install playwright
playwright install # 安装支持的浏览器:cr, chromium, ff, firefox, wk 和 webkit
playwright install chromium # 安装指定的chromium浏览器
安装时会自动下载浏览器依赖,windows系统在%USERPROFILE%\AppData\Local\ms-playwright
路径下。
命令行工具
脚本录制
在命令行窗口使用如下语法格式进行脚本录制:
npx playwright codegen [options] [url]
options参数:
-o, --output <file name>
:保存生成脚本--target <language>
:生成的脚本语言,可以设置javascript, test, python, python-async和csharp,默认为python。-b, --browser <browserType>
:要使用的浏览器,可以选择cr, chromium, ff, firefox, wk和webkit,默认chromium。--channel <channel>
:chromium版本,比如chrome, chrome-beta, msedge-dev等,--color-scheme <scheme>
:模拟器的颜色主题,可选择light 或者 dark样式。--device <deviceName>
:模拟的设备,比如iPhone 11。--save-storage <filename>
:保存上下文状态,用于保存cookies 和localStorage,可用它来实现重用。例如playwright codegen --save-storage=auth.json
--load-storage <filename>
:加载--save-storage
保存的数据,重用认证数据。--proxy-server <proxy>
:指定代理服务器--timezone <time zone>
: 指定时区--geolocation <coordinates>
:指定地理位置坐标--lang <language>
:指定语言/地区,比如中国大陆:zh-CN