我使用cucumber-protractor框架自动完成了所有场景。所有这些场景在单独执行时运行正常,即在场景完成后关闭浏览器但在一起运行时我无法在每个场景后打开新的浏览器窗口。它只是在同一个浏览器中继续。由于SSO登录,我必须在每个场景后重新启动浏览器。
我尝试在量角器中使用maxSession,maxInstance但没有帮助。虽然maxIntance打开了新的浏览器,但它并没有关闭旧浏览器,也没有将控制权传递给新的浏览器。我也尝试过使用getWindowHandler,但这也没有用。
我非常感谢任何帮助,因为我长期坚持这一点。
答案 0 :(得分:0)
似乎juliemr回答了你的问题:
测试按文件分片,而不是按方案分片,因此您需要将方案拆分为单独的文件。
https://github.com/angular/protractor/issues/864#issuecomment-45571006
因此,您需要将方案拆分为单独的功能文件,如果需要,可以将maxInstances
设置为您想要一次运行的多个。例如:
capabilities: {
'browserName': 'chrome',
'shardTestFiles': true,
'maxInstances': 10
}
答案 1 :(得分:0)
在每个方案后添加一个钩子以关闭浏览器:
this.After(function(scenario, done) {
this.quit(done);
});