空手道的新手。我正在尝试调试一些因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')
奇怪的是,测试在第一次运行时就通过了,但是如果我重复测试,它们就会开始挂起,我会看到这些错误。
如果有用,我们将connectTimeout
和readTimeout
设置为30000。
当我使用REST客户端手动测试端点时,端点在几秒钟内返回200 OK,因此我认为我们的空手道配置可能有问题。
任何帮助将不胜感激。
答案 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
,以查看是否有所不同。