如何防止TestCafe在--debug-mode下因浏览器断点暂停而重启?
TestCafe调试时避免因客户端断点暂停导致测试重启的解决办法
你遇到的问题是因为TestCafe的默认超时机制在浏览器长时间暂停后触发了测试重启——即使开启了--debug-mode,客户端代码断点导致的执行暂停并不在TestCafe的调试等待逻辑覆盖范围内,所以需要手动调整超时参数来延长甚至取消超时限制:
方法一:通过命令行参数设置长超时
直接在启动命令中添加超时配置参数,把超时值设为足够大的毫秒数(比如3600000代表1小时,可根据调试需求调整):
testcafe --debug-mode --dev Safari test1.ts --page-load-timeout 3600000 --assertion-timeout 3600000
--page-load-timeout:控制页面加载的超时时间--assertion-timeout:控制测试中断言的超时时间
如果需要无限时长,直接设置为0(TestCafe中0表示不限制超时):
testcafe --debug-mode --dev Safari test1.ts --page-load-timeout 0 --assertion-timeout 0
方法二:在测试代码中全局配置超时
如果不想每次启动都加命令行参数,可以在测试文件的fixture配置中直接设置超时:
import { fixture } from 'testcafe'; fixture`调试测试用例` .page`你的目标页面URL` .pageLoadTimeout(0) // 无限页面加载超时 .assertionTimeout(0); // 无限断言超时
这样设置后,即使你在客户端代码中设置断点长时间暂停,TestCafe也不会因为超时重启测试,你可以安心完成调试。
内容的提问来源于stack exchange,提问作者Leo
相关产品推荐
相关产品推荐

