【问题标题】:Collect errors with Gatling?用 Gatling 收集错误?
【发布时间】:2015-04-05 01:36:10
【问题描述】:

在我漫长而简单的 Gatling 模拟中,我几乎没有以错误 500 结尾的响应。是否可以告诉 gatling 在模拟期间将这些错误响应消息收集到一个文件中?

【问题讨论】:

    标签: gatling


    【解决方案1】:

    可以收集您想要的任何内容并将其保存到simulation.log 文件中。定义协议时使用 extraInfoExtractor 方法:

    val httpProtocol = http
        .baseURL(url)
        .check(status.is(successStatus))
        .extraInfoExtractor { extraInfo => List(getExtraInfo(extraInfo)) }
    

    然后在您的 getExtraInfo(extraInfo: ExtraInfo) 方法中定义您想要的任何标准。下面的示例输出请求和响应,如果通过 Java 系统属性启用调试,或者响应代码不是 200,或者请求状态为 KO(如果您设置了一些最大时间并且该最大时间增加,则它可以是 KO)

    private val successStatus: Int = 200
    private val isDebug = System.getProperty("debug").toBoolean   
    private def getExtraInfo(extraInfo: ExtraInfo): String = {
        if (isDebug
            || extraInfo.response.statusCode.get != successStatus
            || extraInfo.status.eq(Status.valueOf("KO"))) {
            ",URL:" + extraInfo.request.getUrl +
                " Request: " + extraInfo.request.getStringData +
                " Response: " + extraInfo.response.body.string
        } else {
            ""
        }
    }
    

    【讨论】:

    • 这是 2.x 版的好解决方案,但在 gatling 3.x 中不支持
    【解决方案2】:

    在生产模式下没有。只有在启用调试日志记录时才能拥有它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-29
      • 1970-01-01
      • 1970-01-01
      • 2017-09-17
      • 2012-10-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多