Мне нужно получить идентификатор задания/идентификатор сеанса из транспортира, запущенного в файл, чтобы я мог создавать ссылки на скриншоты/видео в Saucelabs. Есть ли правильный способ сделать это?
Один подход, который я рассматриваю, состоит в том, чтобы получить идентификатор сеанса из объекта browser
, а затем передать его пользовательскому репортеру, который записывает его в файл:
// protractor.conf.js
onPrepare: function () {
var sessionIdP = q.defer();
browser.getSession().then(function(session) {
sessionIdP.resolve(session.getId());
});
jasmine.getEnv().addReporter(new SessionIdWriter({
sessionId: sessionIdP
});
}
Должно работать, но можно ли это сделать более чисто?
Я знаю, что Saucelabs предлагает REST API, который может возвращать последний идентификатор задания, но это создает условия гонки с другими пользователями учетной записи. Кроме того, идентификатор известен локально, поэтому звонка не требуется.