Jmeter: Код ответа: Код ответа не HTTP: javax.net.ssl.SSLHandshakeException

У меня есть URL-адрес приложения. Мне нужно запустить тест входа в систему с помощью Jmeter. Я записал шаги входа в систему, используя расширение Chrome Blazemeter. Но когда я запускаю его, я получаю ошибку ниже. Я знаю, что были такие вопросы, я пробовал несколько, и, похоже, мой случай другой.

Я пробовал:

  1. Добавил эти две строчки в jmeter.bat

    установить JAVA_HOME = C: \ Program Files \ Java \ jdk1.8.0_65 установить PATH =% JAVA_HOME% \ bin;% PATH%

  2. Запустите Jmeter, используя «Запуск от имени администратора»

  3. Загрузите сертификат отсюда https://gist.github.com/borisguery/9ef114c53b83e553b635 и установите это так https://www.youtube.com/watch?v=2k581jcWk9M Перезапустите Jmeter, но и попробуйте еще раз, но безуспешно.

Когда я раскрываю ошибку в прослушивателе дерева Jmeter View, я получаю ошибку в этом конкретном файле css: https://abcurl.xyzsample.com/assets/loginpage/css/okta-sign-in.min.7c7cfd15fa939095d61912dd8000a2a8.css

Ошибка:

Thread Name: Thread Group 1-1
Load time: 268
Connect Time: 0
Latency: 0
Size in bytes: 2256
Headers size in bytes: 0
Body size in bytes: 2256
Sample Count: 1
Error Count: 1
Response code: Non HTTP response code: javax.net.ssl.SSLHandshakeException
Response message: Non HTTP response message: Received fatal alert: handshake_failure

Response headers:


HTTPSampleResult fields:
ContentType: 
DataEncoding: null

person paul    schedule 03.07.2017    source источник


Ответы (2)


Если вы получаете ошибку только для одного файла .css и он не принадлежит тестируемому приложению (т.е. это внешняя таблица стилей), лучшее, что вы можете сделать, это просто исключить его из нагрузочного теста в разделе URLs must match, который находится в разделе" Advanced " "вкладки элемента конфигурации HTTP-запроса по умолчанию.

Если вам нужно загрузить этот .css каким-либо образом, вы также можете попробовать следующие подходы:

  1. Поэкспериментируйте со свойствами https.default.protocol и https.socket.protocols (найдите строки выше в файле jmeter.properties)
  2. Установите файлы политики юрисдикции с неограниченной надежностью Java Cryptography Extension (JCE) в /jre/lib/security папку вашего домашнего JRE или JDK (замените существующие файлы загруженными)
person Dmitri T    schedule 03.07.2017
comment
Для # 2 папка security присутствовала только в JRE, а не в JDK, поэтому скопировал n замененных загруженных файлов только для jre. В №1 обе строки закомментированы значениями #https.default.protocol=TLS, #https.default.protocol=SSLv3, #https.socket.protocols=SSLv2Hello SSLv3 TLSv1. Не играй с этим. Думаю, мне нужно их не комментировать, но какое значение нужно поставить? - person paul; 03.07.2017

Если для вашего URL-адреса требуется сертификат клиента, скопируйте сертификат в папку / bin и из консоли jmeter, если вы перейдете в параметры -> Диспетчер SSL и выберите свой сертификат, он запросит пароль сертификата. И если вы снова запустите свои тесты, это должно сработать. Кроме того, вы также можете настроить хранилище ключей (http://jmeter.apache.org/usermanual/component_reference.html#Keystore_Configuration), если вы еще этого не сделали. Обратите внимание, что моя версия jmeter - 4.0. Надеюсь это поможет .

person trupti rath    schedule 23.03.2018