我有一个简单的场景,当我想从循环中的 csv 文件读取端点时。该请求将根据端点构建,并且我需要传递给函数以生成令牌并包含在标头中。
val scn = scenario("Test").exitBlockOnFail{
feed(csvFeeder)
.group("Multiple tests") {
exec(http("Multiple tests")
.get("${endpoint}"+request_params)
.headers(utils.HeaderUtils.create_header("${endpoint}").toMap)
.check(status.is(200)))
}.pause(1.seconds)
}
问题是,在 .get 中,${endpoint} 被 csv 中的实际值替换。但相同的值尝试传递给 .headers 下的函数,实际值不会被替换。它以 ${endpoint} 字符串形式出现,而不是 csv 中的实际值。
您可以在这里推荐一下吗
谢谢
首先,
${}
语法已被弃用多年,并最终于上周从 Gattleing 3.11 开始被删除。现在你应该使用#{}
。
然后,Gatling 表达式语言仅由 Gadling SDK 的方法解释,而不是由您自己的自定义代码解释。如果您想在自己的自定义代码中从 Session 获取数据,则必须使用 Session API,通常在 functions 中。