#selenium #protractor #integration-testing
Вопрос:
Я вроде как новичок в транспортире. Я не уверен, что транспортир может это сделать. Я постараюсь описать, чего я хочу.
История
У нас есть веб-сайт на основе Angular, который необходимо протестировать на интеграцию. Тесты транспортира обычно терпят неудачу и показывают бессмысленную информацию, такую как: Failed: Wait timed out after xxxx ms
. Этого недостаточно для отладки, так как страница сложная и в любом месте может произойти сбой тайм-аута. Поэтому я должен перейти на страницу «Инструкции по тестированию интеграции» вручную и посмотреть, в чем проблема. Я обнаружил, что такая ситуация часто случается:
На странице я нажал submit
кнопку. Страница должна что-то отправить и вернуться на другую страницу. Чтобы проверить submit
, работает ли это, интеграционный тест обычно используется url changing
для определения того, не удался ли вызов службы. Поэтому код интеграционного теста обычно выглядит так
expect(await browser.getCurrentUrl()).toBe(browser.baseUrl "EXPECTED_URL");
Это EXPECTED_URL
новый URL-адрес.
Однако, если submit
это не сработает, он останется на той же странице и отобразит сообщение об ошибке в верхней части страницы, чтобы уведомить пользователей. Поскольку страница не меняется, она показывает только сбой тайм-аута.
Question
Мой вопрос: В этом случае есть ли способ в транспортире проверить, появляется ли сообщение об ошибке до истечения времени ожидания изменения URL-адреса? Я не знаю, когда может появиться сообщение об ошибке, если вызов службы завершится неудачно. И я также не знаю, когда вызов службы завершится успешно, поэтому URL-адрес изменится. Так что я не знаю, чего мне ждать. Лучшее решение также приветствуется!
Пожалуйста, помогите! Спасибо!