Gatling:我怎样才能只记录失败的请求?
Gatling: how can I log only failed requests?
下面的测试检查 graphql 端点的性能。将 ID 的 CSV 文件输入到测试中。当 运行 时,大约 1% 的请求失败,因为端点 returns 一些 id 的输入错误。但是,从 graphql 返回的消息描述性不强,所以我不知道是哪个id实际上失败了。我希望能够向测试添加一个步骤,记录所有失败请求的请求正文和响应。
我可以启用调试日志,但这会记录所有内容。我只对记录失败的请求感兴趣。是否可以添加类似失败步骤的内容,让我注销请求正文和响应,以便我知道哪个 ID 失败了?
class Test extends CommonSimulation {
val graphqlQuery: String =
"""
|{"query":"{person(personId:\"${id}\")}"}
|""".stripMargin
val gqsPerson: ScenarioBuilder = scenario("Service Test")
.feed(csv(Data.getPath + "id.csv").random)
.exec(http("My test")
.post("https://localhost:4000/graphql")
.body(StringBody(graphqlQuery)).asJson
.check(jsonPath("$.errors").notExists)
.headers(headers)
)
setUp(
authToken.inject(atOnceUsers(1))
.andThen(
gqsPerson.inject(constantConcurrentUsers(1) during 1)
))
}
下面的测试检查 graphql 端点的性能。将 ID 的 CSV 文件输入到测试中。当 运行 时,大约 1% 的请求失败,因为端点 returns 一些 id 的输入错误。但是,从 graphql 返回的消息描述性不强,所以我不知道是哪个id实际上失败了。我希望能够向测试添加一个步骤,记录所有失败请求的请求正文和响应。
我可以启用调试日志,但这会记录所有内容。我只对记录失败的请求感兴趣。是否可以添加类似失败步骤的内容,让我注销请求正文和响应,以便我知道哪个 ID 失败了?
class Test extends CommonSimulation {
val graphqlQuery: String =
"""
|{"query":"{person(personId:\"${id}\")}"}
|""".stripMargin
val gqsPerson: ScenarioBuilder = scenario("Service Test")
.feed(csv(Data.getPath + "id.csv").random)
.exec(http("My test")
.post("https://localhost:4000/graphql")
.body(StringBody(graphqlQuery)).asJson
.check(jsonPath("$.errors").notExists)
.headers(headers)
)
setUp(
authToken.inject(atOnceUsers(1))
.andThen(
gqsPerson.inject(constantConcurrentUsers(1) during 1)
))
}