如何暂停/恢复Serenity-JS测试运行以检查浏览器?
测试执行中实现暂停/恢复的方案
针对你遇到的mock配置后浏览器行为不符合预期的排查需求,只要把测试框架设为headless: false,再配合以下方法就能实现按需暂停、恢复甚至取消测试:
按测试框架分类的具体实现
Playwright
- 代码插入暂停点:在需要暂停的测试步骤前加入
await page.pause();,运行测试时会自动弹出Playwright Inspector面板,你可以在这里查看页面状态、mock请求,点击「继续」按钮恢复测试,关闭面板或点击「停止」就能取消执行。 - 启动时开启调试模式:直接用命令
npx playwright test --debug启动测试,整个流程会从一开始就暂停,你可以手动控制每一步的执行节奏,排查更灵活。
Cypress
- 链式调用暂停命令:在测试代码里插入
.pause(),比如cy.visit('/target-page').pause();,测试运行到此处会自动暂停,Cypress的控制面板里提供了「继续」「跳过」「停止」按钮,完全可视化操作。 - 手动随时暂停:在Cypress的测试面板左侧,点击任意测试步骤就能直接暂停在该节点,不需要提前写代码,临时排查很方便。
Selenium
- 手动输入触发暂停:根据你用的语言,在代码里加阻塞语句:
- Python:
input("检查完浏览器后按回车继续...") - Java:
System.in.read(); - JavaScript:
await new Promise(resolve => process.stdin.once('data', resolve));
运行到这里测试会卡住,你可以自由检查浏览器,按回车恢复,直接终止进程就能取消测试。
- Python:
- IDE断点调试:在VS Code、IntelliJ等IDE里给测试代码打断点,启动调试模式,测试运行到断点处会自动暂停,能同时查看代码变量和浏览器状态,调试工具栏有继续、停止按钮。
通用注意事项
- 确保
headless: false配置正确:比如Playwright要在launch()方法里设置{ headless: false },Selenium的ChromeOptions要去掉--headless参数。 - 暂停期间可以直接打开浏览器开发者工具,查看mock请求的响应、页面元素的渲染情况,精准定位问题。
内容的提问来源于stack exchange,提问作者user2320340
相关产品推荐
相关产品推荐

