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');
  }

``` 还发现还有针对黄瓜的特定挂钩,如 afterScenarioafterFeature 等,但仍然无法解决问题。

总结一下:我需要在作业通过时发送作业通过,并且当其中一个场景至少失败时我需要发送作业失败。

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);
  });
}