【问题标题】:Flaky SocketTimeoutExceptions with Karate tests [duplicate]带有空手道测试的 Flaky SocketTimeoutExceptions [重复]
【发布时间】:2020-03-19 01:41:39
【问题描述】:

对空手道相当陌生。我正在尝试调试一些因 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,所以我认为我们的空手道配置可能有问题。

任何帮助将不胜感激。

【问题讨论】:

    标签: karate


    【解决方案1】:

    我们也遇到过这个问题,因为它是一个非常零星的问题,很难分享重现的步骤。 在大多数情况下对我们有用的解决方法是将跑步者中的 threadCount 减少到 1: final Results stats = AgentRunner.parallel(getClass(), 1, KARATE_OUTPUT_PATH);

    【讨论】:

    • 听起来你有一个正在限制连接的代理
    【解决方案2】:

    以前从未见过。我唯一能想到的是,也许你有一个代理。看到这个答案:https://stackoverflow.com/a/59678094/143475

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

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

    【讨论】:

      猜你喜欢
      • 2020-06-24
      • 1970-01-01
      • 2019-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-21
      相关资源
      最近更新 更多