空手道测试的不稳定SocketTimeoutExceptions

时间:2020-03-19 01:41:39

标签: karate

空手道的新手。我正在尝试调试一些因SocketTimeoutExceptions间歇性失败的测试。我通常会看到类似的内容:

com.intuit.karate.exception.KarateException: -unknown-:16 - 
create-identity.feature:23 - 
java.net.SocketTimeoutException: Read timed out
    at ✽.* def associatedUserIdentity = call read('classpath:services/shared/create-identity.feature')

奇怪的是,测试在第一次运行时就通过了,但是如果我重复测试,它们就会开始挂起,我会看到这些错误。

如果有用,我们将connectTimeoutreadTimeout设置为30000。

当我使用REST客户端手动测试端点时,端点在几秒钟内返回200 OK,因此我认为我们的空手道配置可能有问题。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

我们也遇到了这个问题,由于它是一个非常零星的问题,因此很难共享复制步骤。 在大多数情况下,对我们有用的解决方法是将流道中的threadCount减少为1: final Results stats = AgentRunner.parallel(getClass(), 1, KARATE_OUTPUT_PATH);

答案 1 :(得分:0)

从未见过。我唯一能想到的是,也许您涉及到代理。查看此答案:https://stackoverflow.com/a/59678094/143475

如果您仍然卡住,则必须提供一种复制方法:https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue

编辑:尝试切换到karate-jersey而不是karate-apache,以查看是否有所不同。