Gatling:使用 .check(regex) 重用一次提取的多个值
Gatling: Reusing once extracted multiple values with .check(regex
我正在尝试仅从会话中提取一次值,并在下一个会话中使用它。
//First transaction used in scenario
val goHomepage = http("OpenHomepage")
.get("/")
.headers(headers_0)
.check(css("ul.sublist a" , "href").findAll.saveAs("categories"))
在最后一行中,我提取了所有类别(例如笔记本电脑、手机等)
这是我在场景中的第一笔交易。此类别用于下一个类别。
所以如果我有多个虚拟用户,这是否意味着每次此行都会执行相同的操作并为每个会话保存此类别的列表或覆盖自身?
如果是这样,我怎样才能只获取此列表一次并在请求之间保存它而不覆盖它?还是只提取一次,不用担心资源消耗?
如果每个用户调用'OpenHomepage' returns相同的数据,那么每个用户都会在其会话中携带子列表。
为什么你只想执行一次?如果您尝试为 20 个用户建模,每个用户都登录网站,让他们每个人都访问主页是不是很现实?
如果做不到这一点,如果类别的子列表相当恒定,您可以将其硬编码到您的场景中或将它们放在 csv 中。无论哪种方式 - 如果您想要基于 "categories" 内容的任何类型的动态行为,您无论如何都需要在每个用户的会话中使用它们。
如果您真的必须执行 "OpenHomepage" 一次,您可以通过执行
中描述的内容将其组合在一起
我正在尝试仅从会话中提取一次值,并在下一个会话中使用它。
//First transaction used in scenario
val goHomepage = http("OpenHomepage")
.get("/")
.headers(headers_0)
.check(css("ul.sublist a" , "href").findAll.saveAs("categories"))
在最后一行中,我提取了所有类别(例如笔记本电脑、手机等) 这是我在场景中的第一笔交易。此类别用于下一个类别。
所以如果我有多个虚拟用户,这是否意味着每次此行都会执行相同的操作并为每个会话保存此类别的列表或覆盖自身?
如果是这样,我怎样才能只获取此列表一次并在请求之间保存它而不覆盖它?还是只提取一次,不用担心资源消耗?
如果每个用户调用'OpenHomepage' returns相同的数据,那么每个用户都会在其会话中携带子列表。
为什么你只想执行一次?如果您尝试为 20 个用户建模,每个用户都登录网站,让他们每个人都访问主页是不是很现实?
如果做不到这一点,如果类别的子列表相当恒定,您可以将其硬编码到您的场景中或将它们放在 csv 中。无论哪种方式 - 如果您想要基于 "categories" 内容的任何类型的动态行为,您无论如何都需要在每个用户的会话中使用它们。
如果您真的必须执行 "OpenHomepage" 一次,您可以通过执行