我正在使用硒网格来运行使用nightwatchjs和黄瓜的UI测试。我打电话给一项服务,该服务为我提供了计算机的主机和端口,但是主机偶尔会在测试过程中死亡。
发生这种情况时,我想换一个新主机,但是我不知道该如何进行中间测试,因为这在执行任何测试之前通过了一次。
getSeleniumHost().then(hostInfo => new Promise((resolve, reject) => {
nightwatchCucumber({
cucumberArgs: [
'--require', 'test/hooks.js',
'--require', 'test/step-definitions',
'--format', 'json:cucumber.json',
]
});
nightwatch.runner(
// startup config
{ config: 'nightwatch.conf.js' },
// after tests have completed
(allPassed) => {
if (allPassed) {
resolve('all tests pass');
} else {
reject(new Error('some tests did not pass'));
}
},
// nightwatch overrides
{ selenium_host: hostInfo.host, selenium_port: hostInfo.port }
);
}));
有没有一种方法可以在before挂钩或我们的步骤定义之一中重置主机和端口?