jmeter 并行执行来自每个控制器的动态URL

ehxuflar  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(154)

我需要并行加载从for each循环中提取的动态资产(图像),因为只有一个采样器传递了变量。我无法在此处使用并行控制器,而且我不知道加载到并行采样器中传递的资产的确切数量。
正如你在一个类似的问题中建议的那样,我已经使用了该方法(添加预采样器)下面的脚本,并尝试在中执行它,它可以选择值,但子元素总是只有一个(并行请求不会发生),但我看到URL的传递主请求有多个传递。
使用的预处理器脚本:

String var2 = vars.get("tokens");
String var3 = vars.get("Token");
vars.put("var3", "https://stagingassets.ovid.com"+"/"+var2+"/t/width-150-png?"+var3);
urlsList = vars.get("var3").tokenize(",")
for (int i = 0; i < urlsList.size(); i++) {
def row = new org.apache.jmeter.testelement.property.CollectionProperty()
row.addItem(urlsList[i])
sampler.data.addItem(row)
log.info("ROWS ${row}")

}
变量来自CSV,在CSV中,使用灵活的文件写入器将每个循环的值保存到文件中。
我的要求是在浏览器中并行执行图像。
[JMeter脚本图像][1]

6pp0gazn

6pp0gazn1#

使用并行采样器,可以使用以下代码片段通过JSR 223预处理器动态添加URL:

sampler.addURL('your-first-url')
sampler.addURL('your-second-url')

如果你想模仿类似浏览器的行为,你需要把并行采样器放在循环控制器下,并把循环数设置为你的URL数/ 6

相关问题