使用元组的内容作为变量会话

问题描述 投票:3回答:1

我从以前的响应中提取了一个带有以下正则表达式的元组对象:

.check(regex(""""idSc":(.{1,8}),"pasTemps":."codePasTemps":(.),"""").ofType[(String,String)].findAll.saveAs ("OBJECTS1"))                                                

所以我得到了我的对象:

OBJECTS1 -> List((1657751,2), (1658105,2), (4557378,2), (1657750,1), (916,1), (917,2), (1658068,1), (1658069,2), (4557379,2), (1658082,1), (4557367,1), (4557368,1), (1660865,2), (1660866,2), (1658122,1), (921,1), (922,2), (923,2), (1660875,1), (1660876,2), (1660877,2), (1658300,1), (1658301,1), (1658302,1), (1658309,1), (1658310,1), (2996562,1), (4638455,1))

之后我做了一个Foreach并需要提取每对夫妇以在下一个请求中添加它们所以我们尝试:

.foreach("${OBJECTS1}", "couple") {        

                              exec(http("request_foreach47"
                                             .get("/ctr/web/api/seriegraph/bydates/${couple(0)}/${couple(1)}/1552863600000/1554191743799")
                                            .headers(headers_27))
                              }

但我收到消息:名为'couple'的人不支持索引访问

我也想在这对夫妇上使用2个正则表达式提取这两个部分可以工作,但我还没有找到任何方法在会话变量上使用正则表达式。 (即使它不需要这个案例,但我可能真的很想知道它是如何有用的)

如果能给我提供帮助,真的很感激。 (我正在使用Gatling 2,但可以使用更新的版本作为其工作,其他脚本已经使用Gatling2开发)

gatling scala-gatling
1个回答
0
投票

每个“couple”都是一个scala元组,不能像集合一样索引。幸运的是,gatling EL具有处理元组的功能。

而不是

.get("/ctr/web/api/seriegraph/bydates/${couple(0)}/${couple(1)}/1552863600000/1554191743799")

您可以使用

.get("/ctr/web/api/seriegraph/bydates/${couple._1}/${couple._2}/1552863600000/1554191743799")
© www.soinside.com 2019 - 2024. All rights reserved.