我使用Slack将量角器测试挂钩,如果测试开始并且一旦完成,想法是在松弛室中发送消息。Slack集成仅适用于onPrepare,但不适用于onLinunch后的onComplete?
但是,我只能在onPrepare期间成功地发送消息给slack。但不是在afterLanch或甚至在onComplete。
我试图在afterLaunch和onComplete中做一个简单的console.log,所以我知道它的工作原理。唯一让我感到困惑的是为什么在测试完成之后,它并没有将信息发送给我们。
如果有更好的方法来做到这一点,请告诉我你的想法。现在,这是我拥有的最好的。
请看看我的代码:
let SpecReporter = require('jasmine-spec-reporter').SpecReporter;
var webRep = require('jasmine-slack-reporter');
var Jasmine2HtmlReporter = require('protractor-jasmine2-html-reporter');
var SlackWebhook = require('slack-webhook');
var slack = new SlackWebhook('my-webhook-url');
exports.config = {
capabilities: {
'browserName' : 'chrome',
},
seleniumAddress: 'http://localhost:4446/wd/hub',
specs: ['./smoke-test/loginAccountType.js'],
onPrepare: function() {
browser.ignoreSynchronization = true,
slack.send({
text: "Test is starting",
channel: '#test-report'
}),
jasmine.getEnv().addReporter(new SpecReporter({
spec: {
displayStacktrace: true
}
})),
jasmine.getEnv().addReporter(
new Jasmine2HtmlReporter({
savePath: './reports',
takeScreenshotsOnlyOnFailures: true,
})
);
},
afterLaunch: function() {
slack.send({
text: "Test is Done",
channel: '#test-report'
})
},
jasmineNodeOpts: {
// Default time to wait in ms before a test fails.
defaultTimeoutInterval: 100000,
print: function() {},
},
};