我需要针对 5 到 10 个服务器测试同一组 url。 URL 在 CSV 文件中定义。服务器名称在用户定义变量配置中定义。
我使用基于服务器数量的 While 控制器来迭代和执行 url 请求。我当前的逻辑定义如下:
Thread group
While controller
Counter (defines number of servers)
While controller (inner check "${URL}" != "<EOF>")
CSV Data Set Config (stop EOF is true)
HTTP Sampler (with url data)
按照逻辑,我的脚本将运行并读取 CSV 文件一次,然后停止。它不是读取外循环。仅内循环并停止。
引用自JMeter CSV数据集手册:
默认情况下,文件只打开一次,每个线程都会使用一个
与文件不同的行。然而,行的顺序
传递给线程取决于它们的执行顺序,其中
迭代之间可能会有所不同。在每次测试开始时读取行
迭代。文件名和模式在第一次迭代中解析。
线程组不能嵌套。所以你必须使用 threadgroup 在 CSV 中进行迭代,使用 foreach 在其他内容中进行迭代。第二个选项是生成包含 URL+服务器变体的 CSV,并仅使用单个线程组来读取 CSV。
第一个选项在这里。
Iterating URLs outer loop, iterating servers inner loop. You just need a threadgroup and a foreach inside it. See the pictures:
Sample results:
当然还有另外 3 个结果...
你还可以玩CSV读取功能如果你有时间 :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)