用加特林收集错误?

时间:2015-02-05 09:03:38

标签: gatling

在我漫长而简单的令人敬畏的Gatling模拟中,我几乎没有以错误500结束的响应。是否有可能告诉gatling在模拟过程中收集文件中的这些错误响应消息?

2 个答案:

答案 0 :(得分:2)

可以收集您想要的内容并将其保存到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 {
        ""
    }
}

答案 1 :(得分:1)

否则处于生产模式。启用调试日志记录时,只有它们。