WebdriverIO/Cucumber-js/SauceLabs:设置一个钩子来发送pass/fail的build
WebdriverIO/Cucumber-js/SauceLabs: Set up a hook to send pass/fail of build
我有几个包含步骤定义的功能文件,我还连接到 SauceLabs,我的构建是 运行,但我不知道如何正确发送构建的通过或失败。
目前我在 wdio.conf.js
中设置了以下挂钩
```
afterTest: function afterTest(test) {
browser.deleteCookie();
browser.localStorage('DELETE');
browser.end();
},
before() {
global.expect = require('jest-matchers');
global.browser.execute(`sauce:job-name=End-to-End tests at ` + `${jobName}`);
},
after() {
global.browser.execute('sauce:job-result=passed');
}
```
还发现还有针对黄瓜的特定挂钩,如 afterScenario
、afterFeature
等,但仍然无法解决问题。
总结一下:我需要在作业通过时发送作业通过,并且当其中一个场景至少失败时我需要发送作业失败。
test
对象上有一个 passed
属性 传递给 afterTest
函数。你可以像这样使用它...
//define this stuff at the top of your config
var SauceLabs = require('saucelabs');
var myAccount = new SauceLabs({
username: "your-sauce-username",
password: "your-sauce-api-key"
});
....
//then use it like this
afterTest: function(test) {
saucelabs.updateJob(browser.session().sessionId, {
name: test.title,
passed: test.passed
}, done);
});
}
我有几个包含步骤定义的功能文件,我还连接到 SauceLabs,我的构建是 运行,但我不知道如何正确发送构建的通过或失败。
目前我在 wdio.conf.js
```
afterTest: function afterTest(test) {
browser.deleteCookie();
browser.localStorage('DELETE');
browser.end();
},
before() {
global.expect = require('jest-matchers');
global.browser.execute(`sauce:job-name=End-to-End tests at ` + `${jobName}`);
},
after() {
global.browser.execute('sauce:job-result=passed');
}
```
还发现还有针对黄瓜的特定挂钩,如 afterScenario
、afterFeature
等,但仍然无法解决问题。
总结一下:我需要在作业通过时发送作业通过,并且当其中一个场景至少失败时我需要发送作业失败。
test
对象上有一个 passed
属性 传递给 afterTest
函数。你可以像这样使用它...
//define this stuff at the top of your config
var SauceLabs = require('saucelabs');
var myAccount = new SauceLabs({
username: "your-sauce-username",
password: "your-sauce-api-key"
});
....
//then use it like this
afterTest: function(test) {
saucelabs.updateJob(browser.session().sessionId, {
name: test.title,
passed: test.passed
}, done);
});
}