如何刷新注入的值
How can I refresh injected values
我创建了一个包含许多不同数据集的 Gatling 项目。这样做的原因是,我想在我向服务发出的每个 SOAP 请求中包含随机性和唯一性。示例:一个数据集有 ID 号,另一个数据集有颜色。我想在发送到我的网络服务的请求中注入这些值。
当我启动 gatling 时,它会生成具有随机值的请求(如预期的那样),但随后会重复使用相同的 ID 和颜色组合。如果可能的话,我想每次发送不同的请求(例如)id:001 和颜色:blue。然后发送一个id:001,颜色:red的请求。现在它只是重新发送 id: 001 和 color: blue.
我有 id.scala 和 color.scala 包含数百行的文件和一个 xml 请求文件,因此组合应该是无穷无尽的。
val id = jsonFile("data/id.json").circular
val color = jsonFile("data/color.json").circular
def updateIdWithColor() = {
.exec(http("Add Color")
.post("/")
.body(ElFileBody("requests/addcolor.txt"))
.check(status.is(200)))
}
val scn = scenario("Load Testing")
.feed(id)
.feed(color)
.forever() {
exec(updateIdWithColor())
}
setUp(
scn.inject(
nothingFor(5 seconds),
atOnceUsers(5),
rampUsers(userCount) during(rampUpUsersOverSeconds seconds)
).protocols(httpConf)
).maxDuration(testDuration minutes)
//.assertions(
// global.responseTime.max.lt(2000),
// global.successfulRequests.percent.gt(99.9),
//)
}
有什么方法可以刷新 id 到颜色组合,这样我每次都可以发送不同的请求吗?如果我 运行 15 分钟,它只会发送一个 SOAP xml 请求,其中包含 001 -> blue 15 分钟。
如果我能带其他东西,请告诉我。我相信在我提供的代码块中我可以(可能)使用一种方法。我只是不知道。提前致谢!
您必须将 feed
移动到 forever
循环中:
val scn = scenario("Load Testing")
.forever() {
feed(id)
.feed(color)
.exec(updateIdWithColor())
}
我创建了一个包含许多不同数据集的 Gatling 项目。这样做的原因是,我想在我向服务发出的每个 SOAP 请求中包含随机性和唯一性。示例:一个数据集有 ID 号,另一个数据集有颜色。我想在发送到我的网络服务的请求中注入这些值。
当我启动 gatling 时,它会生成具有随机值的请求(如预期的那样),但随后会重复使用相同的 ID 和颜色组合。如果可能的话,我想每次发送不同的请求(例如)id:001 和颜色:blue。然后发送一个id:001,颜色:red的请求。现在它只是重新发送 id: 001 和 color: blue.
我有 id.scala 和 color.scala 包含数百行的文件和一个 xml 请求文件,因此组合应该是无穷无尽的。
val id = jsonFile("data/id.json").circular
val color = jsonFile("data/color.json").circular
def updateIdWithColor() = {
.exec(http("Add Color")
.post("/")
.body(ElFileBody("requests/addcolor.txt"))
.check(status.is(200)))
}
val scn = scenario("Load Testing")
.feed(id)
.feed(color)
.forever() {
exec(updateIdWithColor())
}
setUp(
scn.inject(
nothingFor(5 seconds),
atOnceUsers(5),
rampUsers(userCount) during(rampUpUsersOverSeconds seconds)
).protocols(httpConf)
).maxDuration(testDuration minutes)
//.assertions(
// global.responseTime.max.lt(2000),
// global.successfulRequests.percent.gt(99.9),
//)
}
有什么方法可以刷新 id 到颜色组合,这样我每次都可以发送不同的请求吗?如果我 运行 15 分钟,它只会发送一个 SOAP xml 请求,其中包含 001 -> blue 15 分钟。
如果我能带其他东西,请告诉我。我相信在我提供的代码块中我可以(可能)使用一种方法。我只是不知道。提前致谢!
您必须将 feed
移动到 forever
循环中:
val scn = scenario("Load Testing")
.forever() {
feed(id)
.feed(color)
.exec(updateIdWithColor())
}