加特林:使用.check(regex重用一次提取的多个值

时间:2019-06-26 11:24:29

标签: gatling scala-gatling

我试图从会话中提取一次值,然后在下一个会话中使用它。

//First transaction used in scenario
val goHomepage = http("OpenHomepage")
.get("/")
.headers(headers_0)
.check(css("ul.sublist a" , "href").findAll.saveAs("categories"))

在最后一行中,我提取了所有类别(例如笔记本电脑,电话等) 这是我在方案中的第一笔交易。此类别在下一个类别中使用。

因此,如果我有多个虚拟用户,这是否意味着每次此行将执行相同的操作并为每个会话保存此类别的列表或覆盖自身?

如果是这样,我怎样才能仅获得一次此列表并在请求之间保存它,而不会覆盖它?还是只提取了一次而无需担心资源消耗?

1 个答案:

答案 0 :(得分:0)

如果对“ OpenHomepage”的调用为每个用户返回了相同的数据,则每个用户都将在其会话中携带子列表。

为什么您只想执行一次?如果您要为每个登录网站的20位用户建模,那么让他们每个人访问首页是否现实?

如果类别的子列表相当恒定,则失败,您可以将其硬编码到方案中或将其放入csv中。无论哪种方式-如果您希望基于“类别”的内容进行任何形式的动态行为,则无论如何在每个用户的会话中都将需要它们。

如果您真的必须只执行一次“ OpenHomepage”,则可以通过执行here之类的操作将其一起破解