我需要迭代动态生成的应用程序数据,并且没有看到Gatling文档中的任何详细示例。我使用馈线作为可预测的变量,但我该如何从动态中获取请求?我尝试过使用支票,但我不确定这是否是正确的方法。那么我如何迭代捕获的数据并生成新的get()请求?
例如:
val userLinks = exec(
http("Follow Links")
.get("/userLinks/")
.headers(...)
.check(
regex("""__doPostBack('ct100$PageContent$FollowMe','(.*)')""")
.ofType[(String)].findAll.optional.saveAs("FollowMeOptions")
)
)
上述方法是否正确?如果是,我如何使用结果(" FollowMeOptions")?我觉得这是一个应该 - 并且很可能 - 在文档中涵盖的基本场景,但是我没有幸运地找到一个具体的例子(或者在堆栈中)。
谢谢!
答案 0 :(得分:0)
以下是我对此的回答:问题陈述:我必须为配置的一组时间重复加密执行,并且我的步骤名称必须是动态的。
object UrlVerifier {
val count = new java.util.concurrent.atomic.AtomicInteger(0)
val baseUrl = Params.applicationBaseUrl
val accessUrl = repeat(Params.noOfPagesToBeVisited,"index") {
exec(session=> {
val randomUrls: List[String] = UrlFeeder.getUrlsToBeTested()
session.set("index", count.getAndIncrement).set("pageToTest", randomUrls(session("index").as[Int]))
}
).
exec(http("Accessing Page ${pageToTest}")
.get(baseUrl+"${pageToTest}")
.check(status.is(200))).pause(Params.timeToPauseInSeconds)
}
所以基本上UrlFeeder给我一个String列表(要测试的url),在exec中,我们使用count(AtomicInteger),并使用它来填充一个名为' index'的变量。其值将从0开始,并在每次迭代中为getAndIncremented。这个'索引'变量是将在repeat()循环中使用的变量,因为我们指定了counterVariable的名称,用作' index'
同时检查,我正在定义http请求的动态名称,例如访问网页xyz'。 这有助于我以更好的方式理解报告,例如确切的网址失败。
希望它也有助于其他人。