Playwright 录制功能详解
Playwright提供了强大的录制功能,可以帮助开发者快速生成测试脚本。本文将详细介绍各种录制方法及其应用场景。
一、Playwright Inspector - 交互式录制工具
# 使用命令行启动Inspector
npx playwright inspector
- 可视化操作录制:在浏览器中直接操作,自动生成代码
- 多语言支持:可切换生成JavaScript/TypeScript、Python、C#等代码
- 实时调试:立即执行生成的代码片段
二、Codegen - 自动化代码生成
# 生成JavaScript/TypeScript代码
npx playwright codegen
# 生成Python代码
npx playwright codegen --target=python
–target 指定生成语言(python/js/ts/csharp)
–output 指定输出文件路径
–slowmo 减慢操作速度(毫秒)
–viewport 设置浏览器视口大小
# 生成Python代码并保存到指定文件
npx playwright codegen --target=python --output=test_login.py
# 减慢操作速度便于观察
npx playwright codegen --slowmo=1000
三、Trace Viewer - 高级录制分析
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch()
context = browser.new_context(record_video_dir="videos/")
page = context.new_page()
# 开始录制trace
context.tracing.start(screenshots=True, snapshots=True)
# 执行测试操作
page.goto("https://example.com")
page.click("text=Login")
# 停止录制并保存
context.tracing.stop(path="trace.zip")
browser.close()
# 启动Trace Viewer
npx playwright show-trace trace.zip
Trace Viewer提供:
完整操作时间线
元素状态变化
网络请求记录
性能分析数据
四、自定义录制方案
# 安装插件
pip install playwright-recorder
# 使用示例
pytest --record --target=python tests/
# 只录制页面导航操作
context.tracing.start(snapshots=["navigation"])
# 只录制网络活动
context.tracing.start(screenshots=False, snapshots=False)