我使用Webdriver.io + Browserstack遇到了问题。当我在浏览器中运行测试(自动化服务)时,没关系,我看到了正确的状态http://prntscr.com/ijw1rr,但是当我正在运行移动应用程序测试(App Automate)时,它显示我总是已完成http://prntscr.com/ijw277
在wdio.conf.js中我应该从REST API文档REST API粘贴此请求? 我也在这里找到类似的东西,但不知道我怎么能用它。 Browserstack reports successful even when test fails in Nightwatchjs
这是一个适合我的例子
afterTest: function (test) {
var session = browser.sessionId;
var request = require("request");
request({uri: "https:/<user>:<key>@api.browserstack.com/app-automate/sessions/"+session+".json", method:"PUT", form:{"status":"completed","reason":""}});
}
但它就像硬编码(每次都会完成或失败,取决于我指定的内容),我需要以某种方式填充此值取决于断言或测试是否失败。
答案 0 :(得分:1)
您可以使用以下代码块将browsestack上的测试标记为失败
afterTest: test => {
if (!test.passed) {
request({
uri: `https://${user}:${key}@api.browserstack.com/app-automate/sessions/${browser.sessionId}.json`,
method:'PUT',
form:{ 'status':'error','reason': errors.join(' | ') },
})
}
只有在测试失败时才会调用此api调用。因此,所有已完成的测试都将为绿色,失败的测试将标记为红色/错误/失败。