资讯动态

【Playwright codegen】录制→生成代码的映射

发布时间:2026/10/18 6:14:28 来源:尧图企业网站定制
讲解如何使用codegen自动生成pytest代码到运行pytest代码并生成测试录屏视频整个流程以及执行代码从 codegen 生成 pytest 代码 → 配置录屏 → 运行 pytest → 产出视频整条链路先说明一个关键点codegen 的录制是交互式的需要你在弹出的浏览器里手动点无法在无显示器的沙盒里自动完成。所以这条链路里codegen 那一步你要在自己电脑上手动录而我在这里**实际执行运行 pytest 生成录屏视频**这一段给你真实产物。整个过程分 4 个阶段阶段一codegen 生成 pytest 代码在你本地手动录需要 Node 环境用npx拉起 Playwright 的录制器并指定目标语言为 pytestnpx playwright codegen--targetpython-pytest-otests/test_login.py https://www.saucedemo.com/进入venv环境并执行代码弹出的浏览器里手动操作填standard_user / secret_sauce→ 点 Login → 进商品页点个商品。右侧 Inspector 实时生成pytest 风格代码基于playwright.sync_api停止录制后自动写入tests/test_login.py。它生成的代码长这样这就是 codegen 的产出importrefromplaywright.sync_apiimportPage,expectdeftest_example(page:Page)-None:page.goto(https://www.saucedemo.com/)page.locator([data-test\username\]).click()page.locator([data-test\username\]).click()page.locator([data-test\username\]).fill(standard_user)page.locator([data-test\password\]).click()page.locator([data-test\password\]).fill(secret_sauce)page.locator([data-test\login-button\]).click()page.locator([data-test\add-to-cart-sauce-labs-backpack\]).click()page.locator([data-test\shopping-cart-link\]).click()page.locator([data-test\checkout\]).click()page.locator([data-test\firstName\]).click()page.locator([data-test\firstName\]).fill(xue)page.locator([data-test\lastName\]).click()page.locator([data-test\lastName\]).fill(tq)page.locator([data-test\postalCode\]).click()page.locator([data-test\postalCode\]).fill(2251)page.locator([data-test\continue\]).click()page.locator([data-test\finish\]).click()阶段二配置录屏video推荐用pytest-playwright 插件它接管了pagefixture 并内置--video开关零额外代码pipinstallpytest-playwright只要运行时加--video on每个测试自动录屏。无需在代码里写录屏逻辑。进阶也可在browser.new_context(record_video_dirvideos/)手动控制。阶段三运行 pytestpytest tests/--videoon-s阶段四拿到视频跑完后视频默认落在test-results/测试名/video.webmWebM 格式可用任意播放器打开。这样测试失败时能回放当时到底点了什么比单纯报错信息直观得多。整条链路一句话codegen 把你的手操作变成 pytest 代码 →--video on让每次运行自动录屏 → 产物是.webm回放文件。整条链路回顾4 阶段阶段动作命令① 生成 pytest 代码本地弹浏览器手动录playwright codegen --target python-pytest -o tests/test_login.py https://www.saucedemo.com/② 配录屏装插件运行时开--video onpip install pytest-playwright③ 运行跑 pytest 自动录屏pytest tests/ --video on -s④ 取视频在test-results/下拿到.webm回放排查/演示关键点说明codegen 那一步必须在你本地有图形界面的机器上手动完成它要你实时点浏览器无法在服务器/无头环境自动跑。我这里用一段等价的 pytest 代码代替了它的产物重点验证了后三段运行 → 录屏 → 出视频完全可行。视频默认落在test-results/测试名/video.webm用--video retain-on-failure可只保留失败用例的录屏省空间。失败回放价值测试挂了直接看录屏比读报错栈快得多——这正是 video 与 codegen 各自的意义一个写测试一个看结果。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑