Сбой всех тестов в файле транспортира в случае сбоя BeforeAll - PullRequest
0 голосов
/ 27 апреля 2018

У меня тест на транспортир со следующим кодом beforeAll:

beforeAll(async (done: Function) => {
  await browser.restart();
  await browser.waitForAngularEnabled(false);
  await performLogin('/some_url', LOGIN_EMAIL, LOGIN_PASSWORD);
  await browser.waitForAngularEnabled(true);
  done();
});

Страница входа - это объявление Microsoft Azure, которое не является угловым, поэтому необходимо отключить waitForAngular().

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

Есть ли что-то, что я могу позвонить передAll (), чтобы сказать "провалить каждый сценарий здесь"?

1 Ответ

0 голосов
/ 28 апреля 2018

Там protractor-fail-fast, вы можете найти его здесь . В основном он завершается при первом сбое, вместо того, чтобы пытаться запустить все тесты.

Тогда решением вашей конкретной ситуации будет конец beforeAll() проверки того, что URL находится за страницей входа, что-то вроде:

expect(browser.getCurrentUrl()).not.toContain('microsoft.com/login')

Если это не удастся, транспортир выйдет прямо там.

Чтобы ответить на вопрос в целом, вы не первый, кто ищет этот тип функциональности , и разработчики Protractor знают об этом , учитывая, что теперь Жасмин поддерживает его , но, похоже, проблема не изменилась.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...