Как обработать ошибку сбоя подтверждения подлинности SSL-сертификата с помощью karate dsl?

#dsl #karate

#dsl #karate

Вопрос:

Я проверяю свой алгоритм SSL, устанавливая configure ssl = ‘TLSv1.2’, который выдает мне код ответа 200.

Но, если алгоритм не TLSv1.2, он просто выдает необработанную ошибку без кода ответа, подобного этому :

14:53:26.025 javax.net.ssl.SSLHandshakeException: удаленный хост закрыл соединение во время подтверждения подлинности, http-вызов не удался через 22 миллисекунды для URL:https://XXXX.com.au/event/countryTLSV11/v1/countries 14:53:26.026 http-запрос не выполнен: javax.net.ssl.SSLHandshakeException: удаленный хост закрыл соединение во время подтверждения подлинности

Есть ли какой-либо способ обработать эту ошибку?

Ответ №1:

Лично я думаю, что вы тратите время на отрицательный тест, который не принесет вам большой пользы. Положительных тестов должно быть достаточно.

Но если вы настаиваете, используйте вторую функцию для выполнения HTTP-запроса. Затем вы можете обработать ошибку в JavaScript:

 * eval try { karate.call('my.feature') } catch(e) { karate.log('failed:', e) }
  

Комментарии:

1. Это обязательное условие. Я не могу пропустить отрицательные тесты. Единственная проблема в том, что этот ответ не дает никакого кода ответа на сбой, который блокирует меня. В любом случае спасибо. Я попробую это со второй функцией.

2. @SnehaShukla как скажешь. лично я считаю, что это глупое требование 🙂

3. @PeterThomas: Хотя это глупо, я попробовал это, и я могу выполнить тестовый проход с помощью простого вызова js в функции. Но исключение является общим исключением karate, есть ли способ получить фактическое исключение, которое генерируется??

4. @shrik18 Я не уверен. вы можете углубиться в код и внести дополнительный вклад, если это необходимо

5. Я подниму проблему и сделаю это.