首页/开发/软件测试速查/Playwright codegen 录制
自动化测试66 条

Playwright codegen 录制

codegen 录制用户操作并生成脚本骨架:playwright codegen <url> 打开浏览器输出操作代码,适合快速起草与提取定位器;生成结果仍需人工整理结构并补充断言。

软件测试速查开发更新于 2026-10-13

代码生成器是什么

Playwright 自带的录制工具:打开真实浏览器与检查器,边操作边生成可运行代码(可选 JavaScript、Python、Java、.NET 等目标语言)。定位是起步脚手架与定位器学习工具——用生成结果学习官方推荐的语义化定位写法,而不是把录制产物当长期维护的回归脚本。

基本信息

启动npx playwright codegen <url> 打开录制器与浏览器
目标语言--target 指定输出语言,如 python
输出文件-o 直接把生成代码写入文件
登录态--save-storage / --load-storage 录制或复用会话
浏览器--browser chromium|firefox|webkit
定位器生成结果优先语义定位:get_by_role、get_by_label 等

最小示例

最小示例
npx playwright codegen https://example.com            # 打开录制器
npx playwright codegen --target=python -o rec.py <url>  # 直接输出 Python 脚本
npx playwright codegen --save-storage=auth.json <url>   # 录制并保存登录态
# 录制产物只当起点:改名、收敛定位器、补上业务断言后再进仓库

典型使用场景

  • 起步脚本骨架:新项目里几分钟产出第一条可跑用例
  • 学习官方定位写法:观察 get_by_role 等语义定位的生成结果
  • 抓登录态:录制一次登录流程,保存 storage 供后续用例复用
  • 疑难元素定位:检查器里试算定位器,挑最稳的一种
  • 探索表单与上传交互:选择器拿不准时先录一遍看官方怎么写
  • 给非代码同学演示:录制流程作为用例初稿的讨论材料

常用选项速览

选项作用注意
--target选择生成语言团队用什么选什么
-o输出到文件不写则只在检查器里显示
--save-storage录制结束保存登录态产物含会话凭据,勿进仓库
--load-storage带登录态开始录制跳过登录直接录业务操作
--browser选择浏览器内核默认 chromium
录制产物不要直接进仓库:它会带脆弱的定位器和多余的等待,先重命名为业务语义、补上断言再做评审。
录制里若出现固定等待(waitForTimeout),要替换成可感知的等待(对断言自动重试),否则低配 CI 机器上必然抖动。
录制时的视口、时区等环境与 CI 不一致,会导致布局差异漏检;录制前先固定与流水线一致的运行参数。

易错点

  • 直接把录制产物当回归脚本:定位器脆弱、断言缺失,维护成本比重写还高
  • 录制中把登录流程录进每条用例:改用 storage state 复用,避免重复登录拖慢全量
  • 依赖固定 sleep 等待元素:网络稍慢就失败,改用自动等待与断言重试
  • 录制环境用大屏视口:CI 小视口下元素不可见,用例随机失败

数据来源与参考

  • Playwright 官方文档:Test generator(playwright.dev)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌