В 0.9.6 я использовал каратэ-аапха для моей пользовательской реализации клиента HTTP. Поскольку каратэ-ааач больше не доступен в 1.5.x, мне пришлось явно реализовать мою собственную httpclientFactory для поддержки связи PSK-TLS. и
стандартный apachehttpclient в противном случае. < /p>
Проблема < /strong>
Когда я запускаю тесты из IntelliJ, все работает нормально, и все тестовые случаи проходят.
Код: Выделить всё
http call failed after 4 milliseconds for url: https://192.168.99.100:30058/Iotss
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
karate/tests/core/revoke-certificate-api.feature:158
< /code>
Команда, которую я использую (сбой с sslhandshakeexception) < /strong> < /li>
< /ul>
java -cp ".;lib/test-automation-1.3.1-SNAPSHOT.jar;lib/karate-1.5.1.jar;lib/lib-signed/bcprov-jdk15on.jar;lib/lib-signed/bcpg-jdk15on.jar;lib/lib-signed/bcpkix-jdk15on.jar;lib/lib-signed/bctls-jdk15on.jar" \
-Dkarate.env=minikube \
-Dkarate.http.client.factory=com.thales.mcs.iot.ss.applet.ConditionalPskHttpClientFactory \
com.intuit.karate.Main \
--tags ~@draft,~@common,~@ignore,~@perf \
--output target \
karate/tests/core/
< /code>
Intellij Runner (работает нормально) < /strong> < /li>
< /ul>
@Test
void testParallel() {
System.setProperty("karate.env", "minikube");
Results results = Runner.path("classpath:karate/tests/core/")
.tags("~@draft", "~@ignore")
.clientFactory(new ConditionalPskHttpClientFactory())
.parallel(2);
Assertions.assertEquals(0, results.getFailCount(), results.getErrorMessages());
}
прекрасно работает внутри Intellij с .clientFactory (new CondityPshttpClientFactory ())
не работает с javax.net.ssl.sslhakexexexexexexexception: Handshake_failure при запуске. />
Добавлена каратэ.configure ('clientFactory', ...) в каратэ-config.js (но ClientFactory больше не поддерживается в каратэ 1.5.1). < /p>
< /li>
Добавлено свойство в блоке STATIC: < /p>
static {
System.setProperty("karate.http.client.factory",
- "com.thales.mcs.iot.ss.applet.ConditionalPskHttpClientFactory");
- }
< /code>
Прошеская настройка -dkarate.http.client.factory = ... через командную строку. < /li>
< /ol>
Подробнее здесь: https://stackoverflow.com/questions/797 ... fails-with