Пользовательский отчет Jasmine не загружает все тесты на вкладке Sauce labs в VSTS
Автоматизировал тесты e2e в интегрированной среде CI с транспортиром и жасмином в VSTS. Использовал пользовательский репортер jasmine для загрузки результатов теста e2e на вкладке "Соус лаборатории" в определении сборки VSTS. Но это не загружает все тесты. Он отображает только последний тест e2e, выполненный в сборке. Журнал консоли печатается для всех тестов e2e. Пожалуйста, смотрите код ниже.
let sauceLabsReporter: jasmine.CustomReporter = {
specDone: (result: jasmine.CustomReporterResult): void => {
Util.log('*** sauceLabsReporter: result.fullName:', result.fullName);
Util.log('*** sauceLabsReporter: result.status:', result.status);
Util.log('*** sauceLabsReporter: result.testCaseId:', result.testCaseId);
if (result.testCaseId) {
result.fullName = `(Testcase ID: ${result.testCaseId}): ${result.fullName}`;
Util.log('*** sauceLabsReporter: UPDATED result.fullName:', result.fullName);
}
Util.updateSauceLabsJobTitle(result.fullName);
if (result.status) {
Util.updateSauceLabsTestState(result.status);
}
}
};
export function updateSauceLabsJobTitle(title: string): promise.Promise<void> {
let fullTitle: string = `${title} | (${getHostname()})`;
return browser.executeScript(`sauce:job-name=${fullTitle}`)
.then(() => browser.getSession())
.then((session: Session) => {
if (isThisVSTSBuildAgent()) {
//The VSTS Sauce Labs add-on gets information by parsing the console log.
//tslint:disable-next-line:no-console
console.log(`SauceOnDemandSessionID=${session.getId()} job-name=${fullTitle}`);
}
});
}
export function updateSauceLabsTestState(state: string): promise.Promise<{}> {
return browser.executeScript(`sauce:job-result=${state}`);
}
1 ответ
Я работаю над тем же проектом, что и Падма. Это было связано с restartBrowserBetweenTests
устанавливается на false
который объединяет все тесты в одну работу. После установки на true
Каждый тест стал своей работой.