一、基础概念
Plyawright仅支持Chromeium(Chrome、Edge)、safari内核浏览器
具有异步/同步
可以调用控制带(F12)获取信息,模拟弱网、兼容性....
二、安装playwright
安装pytest的playwright插件
# 安装
pip install pytest-playwright
# 更新
pip install pytest-playwright -U也可以单单只安装playwright
匹安装浏览器
playwright install # 安装所有支持的浏览器
playwright install chrome # 安装Chrome浏览器
playwright install firefox # 安装火狐浏览器三、脚本格式
import pytest
from playwright.sync_api import expect, Page
@pytest.mark.web
def test_webui(page: Page) -> None:
page.goto("https://www.baidu.com")
page.screenshot(path = "test.png")
expect(page).to_have_title("百度一下,你就知道")四、Codegen代码生成(录制脚本)
可以录制脚本,他能将在浏览器中的操作实时翻译成Playwright代码
启动Codegen
playwright codegen {$URL}执行后出现两个窗口
浏览器窗口:再次窗口的所有操作(点击、输入、选择等)都将被记录,可以完全模拟用户的操作
Playwright Inspector窗口:实时显示操作所对应的Playwright Python代码
添加断言
codegen会自动记录下在浏览器中的用户行为,但是无法自动记录断言(因为这个不是行为)。Inspector按钮明确需要进行断言类型。

五、pytest命令
--headed 在headed模式下运行测试(默认无头)
--browser 指定浏览器类型:chromium、firefox、webkit
--browser-channel 要使用的浏览器频道
--slowmo 将playwright操作减慢指定毫秒数
--device 要模拟的设备
--output 测试生成的产物存储目录
--tracing 是否为每个测试记录trace(追踪信息),可选on\off或retain-on-failure 默认off
--video 是否为每个测试记录视频,可选on\off或retain-on-failure 默认off
--screenshot 是否为每次测试后自动捕获截图,可选on\off或only-on-failure 默认off
--full-page-screenshot 是否在失败是截取整个页面,默认仅捕获视口,需要同时启用--screenshot 参是,默认off