Browserstack сообщает об успешном статусе, но на самом деле тест не проходит

Я столкнулся с проблемой при использовании Webdriver.io+Browserstack. Когда я запускаю тесты в браузере (служба Automate), все в порядке, я вижу правильные статусы http://prntscr.com/ijw1rr , но когда я запускаю тесты мобильных приложений (App Automate), мне всегда показывается завершено http://prntscr.com/ijw277

Где в wdio.conf.js я должен вставить этот запрос из документации REST API REST API? Также я нашел здесь что-то подобное, но не знаю, как я могу его использовать. Browserstack сообщает об успешном выполнении, даже если тест не прошел в 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":""}});
 }

Но это похоже на жестко запрограммированное (каждый раз будет завершено или не выполнено, зависит от того, что я указал), мне нужно каким-то образом заполнить это значение в зависимости от того, завершится ли проверка или проверка.


person Konstantin Zalutskyi    schedule 07.03.2018    source источник


Ответы (1)


Вы можете использовать следующий блок кода, чтобы пометить тесты как не пройденные в стеке браузера.

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 будет вызываться только в случае сбоя теста. Таким образом, все завершенные тесты будут отмечены зеленым цветом, а те, которые не прошли, будут помечены красным цветом/ошибкой/неудачным завершением.

person BountyHunter    schedule 08.03.2018
comment
Спасибо за помощь, жалуется, что «ошибки» не определены prntscr.com/iofi9v . Но когда я изменил причину, это начинает работать хорошо для меня. - person Konstantin Zalutskyi; 08.03.2018
comment
«ошибки» — это работа с несколькими вызовами API в общем блоке after. Пожалуйста, отметьте ответ как принятый, если это помогло. - person BountyHunter; 08.03.2018
comment
Обновленный URL-адрес API должен быть следующим: api-cloud.browserstack.com/app-automate/sessions/{yourSessionID}.json. - person HRVHackers; 20.04.2020