Получить идентификатор сеанса транспортира в файл

Мне нужно получить идентификатор задания/идентификатор сеанса из транспортира, запущенного в файл, чтобы я мог создавать ссылки на скриншоты/видео в 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, который может возвращать последний идентификатор задания, но это создает условия гонки с другими пользователями учетной записи. Кроме того, идентификатор известен локально, поэтому звонка не требуется.


person tariksbl    schedule 15.11.2014    source источник
comment
Вот как я это делаю. Я думаю, именно поэтому SL использует sessionId, так как он доступен через селен.   -  person guy mograbi    schedule 29.11.2018


Ответы (1)


Я думаю, что вы ищете свойства build: 'some build number' и name: 'my awesome webpage' в возможностях вашего конфигурационного файла. эти параметры будут переданы в вашу учетную запись SL и отобразятся в таблице тестового запуска.

доступна дополнительная информация https://docs.saucelabs.com/reference/test-configuration/#job-annotation

person Chris Matheson    schedule 19.12.2014
comment
Идентификатор сеанса SL отличается от номера и имени сборки; но в качестве примечания, спасибо за совет name: awesome webpage, Untitled на странице результатов SL заставил мои глаза кровоточить. - person tariksbl; 27.02.2015