运行backstop测试,我得到以下输出,backstop无法生成报告:
COMMAND | Command "test" ended with an error after [195.665s]
COMMAND | TimeoutError: waiting for target failed: timeout 30000ms exceeded
at Function.waitWithTimeout (/usr/local/lib/node_modules/backstopjs/node_modules/puppeteer/lib/helper.js:228:26)
at Browser.waitForTarget (/usr/local/lib/node_modules/backstopjs/node_modules/puppeteer/lib/Browser.js:214:27)
at Browser.<anonymous> (/usr/local/lib/node_modules/backstopjs/node_modules/puppeteer/lib/helper.js:112:23)
at ChromeLauncher.launch (/usr/local/lib/node_modules/backstopjs/node_modules/puppeteer/lib/Launcher.js:247:21)
at process._tickCallback (internal/process/next_tick.js:68:7)
x Close Browser
如何判断哪个场景失败,以便进行调试?Puppeteer是我使用的引擎。
**更新:我注意到这些失败页面之间有一种模式:它们中的大多数都包括iframe(主要是youtube(。在大多数情况下,我都通过使用removeSelectors
指令指示backstop忽略iframe来解决这个问题:
"removeSelectors": [
"iframe"
]
我对这个解决方案并不满意,所以请留下来,以防有人有更好的答案。
唯一帮助我解决问题的是重新安装我的节点包。
rm -rf node_modules
npm install