Browserstack 报告成功状态,但实际上测试失败

Browserstack reports successfull status, but in fact test fails

我在使用 Webdriver.io+Browserstack 时遇到了问题。当我在浏览器(自动化服务)中进行 运行 测试时,没问题,我看到了正确的状态 http://prntscr.com/ijw1rr , but when I'm running for mobile apps tests (App Automate) it shows me always Completed http://prntscr.com/ijw277

我应该在 wdio.conf.js 的什么地方粘贴来自 REST API 文档 REST API 的请求? 我也在这里找到了类似的东西,但不知道如何使用它。

这是一个适用于我的示例

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

但这就像硬编码(每次都会完成或失败,取决于我指定的内容),我需要以某种方式填充此值取决于断言或测试是否失败。

您可以使用以下代码块在 browserstack 上将测试标记为失败

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 调用仅在测试失败时调用。所以所有完成的测试都将是绿色的,失败的将被标记为 red/error/failed.