gpt4 book ai didi

Gatling - 动态饲料选择

转载 作者:行者123 更新时间:2023-12-04 23:50:09 26 4
gpt4 key购买 nike

这是我需要做的:

.feed("users.csv") // includes username, password, groupid
// login...
.duration(x) {
feed( csv("${groupid}.csv").random )
// interact with the application using the data in the second .csv file
}

但是当然, csv() 函数需要一个字符串,而不是一个 EL 表达式。我需要能够在场景执行的适当时刻组合该字符串。

我能够构建字符串,如下所示:
.exec( session => {
feed( csv( session.getAttribute("groupid") + ".csv" ).random )
session
})

但遗憾的是,下面的 exec 没有看到数据。对我来说,这看起来像是某种范围界定问题。我猜 feed() 表达式正在做它应该做的事情,但是因为它不是外链的一部分,所以它没有被放置在它所属的地方。我是否应该在 session 对象中的某个对象上调用 .feed 以将其附加到正在进行的链中?

关于如何完成我打算做的事情的任何指导?谢谢!

最佳答案

馈线在模拟的同时被实例化。您不能将其推迟到 Simulation 运行时,除非您使用底层工具进行破解。

你有多少个“groupid”文件?
如果你只有几个,你可以使用 doSwitch来自 Gatling 2 当前快照,或嵌入 doIf如果您使用 Gatling <= 2M3a 运行,则会阻止。

.doSwitch("${groupid}") (
"foo" -> feed(csv("foo.csv").random),
"bar" -> feed(csv("bar.csv").random)
)

这可以概括为:
def groupIdFeed(groupId: String) = groupId -> feed(csv(groupId + ".csv").random)

.doSwitch("${groupid}") (
groupIdFeed("foo"),
groupIdFeed("bar")
)

关于Gatling - 动态饲料选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24533162/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com