gpt4 book ai didi

scala - 使用 Gatling 进行调试 - 如果状态为 500,则打印 ln

转载 作者:行者123 更新时间:2023-12-05 07:28:09 26 4
gpt4 key购买 nike

我正在对 Play 进行性能测试!包含大量 GET/POST API 的应用程序。我想做一些调试,因为一个测试在数百个测试中神秘地失败了(而且只有在运行整个测试时它才会失败)。如果返回的状态为 500,我如何有条件地添加 println?

我尝试了以下方法,但由于 session.status 不是 Int,所以它不起作用(即它总是返回 false)。此外,我认为检查 session.status 甚至不是正确的做法,因为当我为每次调用打印出 session.status 时,它只是吐出一个一堆 OK 行(甚至没有 SEE_OTHER 或类似的东西,就像我希望成功运行的那样),但我不确定替代方案是什么。

val postData: ChainBuilder = exec(http(s"[POST] Data sent to API")
.post(s"$baseUrl/post-data")
.formParam("id", s"$${id}")
.check(status.is(303))
.disableFollowRedirect)
.exec {
session =>
if (session.status == 500) {
println(session.attributes("id")) // whatever
}
session
}

我不确定如何执行此if 检查,或将它放在哪里。如何根据结果的 status 有条件地检查测试中的某些数据?

最佳答案

试试下面的方法

exec(Actions.Job()).pause(Configuration.THINK_TIME_AFTER_PUT second)
.asLongAs(session => (session("responseStatus").as[String], session("statusCode").as[Int], session("reqInfo").as[String])) {
println ("test")

}

关于scala - 使用 Gatling 进行调试 - 如果状态为 500,则打印 ln,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53597189/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com