当运行数百次需要执行时间超过6小时的测试时,量角器会无限期挂起。有时(很少)我们会看到这种行为也需要30分钟才能完成。
我们已经将jenkins作业配置为在启用了shardTestFiles且最大实例设置为10的情况下运行大约1000个测试。作业总是卡住,说1或2个webdriver实例仍在运行。
如果我们连接到运行测试的远程Windows机器,我们将看到运行0%CPU的2或3个nodejs进程。杀死这些进程作业完成而不生成Junit xml。
对于运行超过6小时的所有工作,一直在看悬挂问题。请为此提出解决方案。
使用带有量角器4.0.14,nodejs 6.9.5和firefox 41.0.2的Windows 2012R2和Windows 2016服务器计算机。也看到了与最新量角器5.0.0相同的行为。
我们在conf文件中设置了以下参数:
jasmineNodeOpts:
{ showColors:是的, defaultTimeoutInterval:600000 }
allScriptsTimeout:600000
功能:
{ 'browserName':'firefox', '版本':'任意', shardTestFiles:true, maxInstances:10, }
browser.ignoreSynchronization:true
答案 0 :(得分:2)
由于我的回复指出了上述内容的潜在故障排除问题,因此我已将其纳入答案部分。
ignoreSynchronization
设置为true,则必须处理等待逻辑。如果您正在测试Angular页面,我建议将其保留为false,以使内置waitForAngular
执行此操作。waitForAngular
逻辑(Protractor为你做的那样),那么这可能是一个片段。增加allScriptTimeouts
可能会掩盖测试逻辑中的一些错误。答案 1 :(得分:1)
我不同意@ cnishina的回答中的任何内容。这种行为通常是由于机器上缺少cpu / ram。我会在maxInstances
上剪掉 way ,看看是不是确实存在问题。