#protractor
#транспортир
Вопрос:
При запуске тестов jasmine e2e с использованием protractor я хотел бы проверить, отображается ли правильный шаблон, когда браузер запрашивает несуществующий URL-адрес. Но при запросе недопустимого URL-адреса с использованием protractor.IBrowser.get('valid.tld/invalid')
[1] это выдаст ошибку:
Не удалось загрузить ресурс: сервер ответил со статусом 404 (не найден)
Есть ли способ подавить только одно появление этого сообщения об ошибке, чтобы мои тесты не завершились неудачей?
[1] При вызове valid.tld/invalid
вручную в браузере будет отображаться пользовательский шаблон 404 (желаемое поведение).
Ответ №1:
Вызов browser.get() возвращает обещание, которое либо разрешено, либо отклонено. В вашем случае вы можете обработать отклоненное обещание browser.get()
describe('sample test', function(){
it('Sample Check', function(){
browser.get("http://www.jkhaskjhkjashkjasdhkj.com").then(function(){
// Happy Path Flow
}).catch(function(err){
if(err.indexOf('404')>0) {
// Flow when the error code - 404 is received
console.log(err)
}
});
});
});
Комментарии:
1. это было бы именно то, что мне нужно, однако, похоже, это не работает:
Property 'catch' does not exist on type 'Promise<void>'
2. У меня все работает нормально.. И я предполагаю, что вы используете typescript и видите эту ошибку .. Можете ли вы попробовать без этого?