Gatling:如何拆分从 Feeder 获得的价值?
Gatling : How to split value getting from the Feeder?
在 csv 文件中我有这样的东西
term
testing
我想将测试拆分为字符。我想要这样的东西:
.feed(Feeders.search)
.foreach("${term}".toList, "search") {
exec(http("Auto Complete")
.get("${baseUrlHttps}/search/autocomplete")
.queryParam("term", "${search}")
.check(status is 200)
.check(jsonPath("$..products[0].code").optional.saveAs("code"))).pause(MIN_PAUSE, MAX_PAUSE)
}
上面的代码没有按我的意愿工作,它正在将“${term}”拆分为字符,尽管我想将 csv 中的单词“testing”转换为字符。有什么解决方法吗?
自动完成不是这样工作的。您不是一个字符一个字符地发布,您是在重新发布一个字符。例如,您将发布“test”,然后是“testi”,然后是“testin”,最后是“testing”(通常有最小长度。
exec { session =>
val term = session("term").as[String]
val parts = for (i <- 3 to term.size) yield term.substring(0, i)
session.set("parts", parts)
}
.foreach("${parts}", "search") {
exec(http("Auto Complete")
.get("${baseUrlHttps}/search/autocomplete")
.queryParam("term", "${search}")
.check(status is 200)
.check(jsonPath("$..products[0].code").optional.saveAs("code"))).pause(MIN_PAUSE, MAX_PAUSE)
}
在 csv 文件中我有这样的东西
term
testing
我想将测试拆分为字符。我想要这样的东西:
.feed(Feeders.search)
.foreach("${term}".toList, "search") {
exec(http("Auto Complete")
.get("${baseUrlHttps}/search/autocomplete")
.queryParam("term", "${search}")
.check(status is 200)
.check(jsonPath("$..products[0].code").optional.saveAs("code"))).pause(MIN_PAUSE, MAX_PAUSE)
}
上面的代码没有按我的意愿工作,它正在将“${term}”拆分为字符,尽管我想将 csv 中的单词“testing”转换为字符。有什么解决方法吗?
自动完成不是这样工作的。您不是一个字符一个字符地发布,您是在重新发布一个字符。例如,您将发布“test”,然后是“testi”,然后是“testin”,最后是“testing”(通常有最小长度。
exec { session =>
val term = session("term").as[String]
val parts = for (i <- 3 to term.size) yield term.substring(0, i)
session.set("parts", parts)
}
.foreach("${parts}", "search") {
exec(http("Auto Complete")
.get("${baseUrlHttps}/search/autocomplete")
.queryParam("term", "${search}")
.check(status is 200)
.check(jsonPath("$..products[0].code").optional.saveAs("code"))).pause(MIN_PAUSE, MAX_PAUSE)
}