当使用 repeat() 或 during() 以及使用 1 个虚拟用户时,Gatling CSV 进纸器不断获取 csv 中的第一个值
Gatling CSV feeder keeps getting the first value in the csv when using repeat() or during() and when using 1 virtual user
我的问题和一个类似,但是他没有使用循环,而我绝对需要使用它。
我的 CSV 看起来像这样
使用 Gatling 3.3.1 ,我使用 1 个用户并希望 运行 并使用 during()
重复一个场景,但在每次重复中,应按顺序获取下一个 CSV 值。一旦达到最后一个值,它应该重新启动到 CSV 中的第一个值。
我的代码是这样的
val myCSV = csv("data/myCSV.csv").eager.queue.circular
val theScenarioBuilder: ScenarioBuilder = scenario("Test Only")
.feed(myCSV)
.during(3 seconds) {
exec(session => {
println("myCSV: " + session("id").as[String])
session
})
}
setUp(
theScenarioBuilder.inject(atOnceUsers(1))
).protocols(theHttpProtocolBuilder)
这将打印 myCSV: 1
几次。
我的期望是 myCSV: 1
、 myCSV: 2
、 myCSV: 3
等等。
同样,当我尝试使用 repeat()
时,我遇到了同样的问题,只会打印 myCSV: 1
。
val myCSV = csv("data/myCSV.csv").eager.queue.circular
val theScenarioBuilder: ScenarioBuilder = scenario("Test Only")
.feed(myCSV)
.repeat(3) {
exec(session => {
println("myCSV: " + session("id").as[String])
session
})
}
如何为每次迭代获取不同的 CSV 值?
您在 repeat
循环之外调用 feed
。你怎么可能得到不同的记录?
val myCSV = csv("data/myCSV.csv").eager.circular // queue and circular are exclusive
val theScenarioBuilder: ScenarioBuilder = scenario("Test Only")
.repeat(3) {
feed(myCSV)
.exec(session => {
println("myCSV: " + session("id").as[String])
session
})
}
我的问题和
我的 CSV 看起来像这样
使用 Gatling 3.3.1 ,我使用 1 个用户并希望 运行 并使用 during()
重复一个场景,但在每次重复中,应按顺序获取下一个 CSV 值。一旦达到最后一个值,它应该重新启动到 CSV 中的第一个值。
我的代码是这样的
val myCSV = csv("data/myCSV.csv").eager.queue.circular
val theScenarioBuilder: ScenarioBuilder = scenario("Test Only")
.feed(myCSV)
.during(3 seconds) {
exec(session => {
println("myCSV: " + session("id").as[String])
session
})
}
setUp(
theScenarioBuilder.inject(atOnceUsers(1))
).protocols(theHttpProtocolBuilder)
这将打印 myCSV: 1
几次。
我的期望是 myCSV: 1
、 myCSV: 2
、 myCSV: 3
等等。
同样,当我尝试使用 repeat()
时,我遇到了同样的问题,只会打印 myCSV: 1
。
val myCSV = csv("data/myCSV.csv").eager.queue.circular
val theScenarioBuilder: ScenarioBuilder = scenario("Test Only")
.feed(myCSV)
.repeat(3) {
exec(session => {
println("myCSV: " + session("id").as[String])
session
})
}
如何为每次迭代获取不同的 CSV 值?
您在 repeat
循环之外调用 feed
。你怎么可能得到不同的记录?
val myCSV = csv("data/myCSV.csv").eager.circular // queue and circular are exclusive
val theScenarioBuilder: ScenarioBuilder = scenario("Test Only")
.repeat(3) {
feed(myCSV)
.exec(session => {
println("myCSV: " + session("id").as[String])
session
})
}