подавлять сообщения об ошибках в транспортире

#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 и видите эту ошибку .. Можете ли вы попробовать без этого?