Использовать содержимое кортежа как переменную сессию - PullRequest
3 голосов
/ 05 апреля 2019

Я извлек из предыдущего ответа объект кортежа со следующим регулярным выражением:

.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))
                              }

Но я получаю сообщение: named 'couple' не поддерживает доступ к индексу

Я тоже, хотя, чтобы использоватьМожно использовать 2 регулярных выражения для пары, чтобы извлечь обе части, но я не нашел способа использовать регулярное выражение для переменной сеанса.(Даже если это не нужно для этого случая, но возможно, мне действительно интересно узнать, как это может быть полезно)

Если бы было действительно полезно, если бы вы могли оказать мне помощь.(Я использую Gatling 2, но не могу использовать более свежую версию, так как она для работы, а другие сценарии были разработаны с помощью Gatling2)

1 Ответ

0 голосов
/ 12 апреля 2019

каждая «пара» - это кортеж scala, который нельзя индексировать как коллекцию.К счастью, управляющий 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")
...