如何在Jmeter中更改或参数化HTTP请求名称?

时间:2018-10-03 12:26:08

标签: apache jmeter performance-testing

如何在每次迭代中更改HTTP请求名称?

方案:我正在对1000个以上的迭代运行单个用户测试,当我在GUI的帮助下运行时,可以查看结果,但采样器的名称在1000多个迭代中没有变化。

我的HTTPS请求名称如下:

GetSpace-接下来的1000个项目

enter image description here

运行测试时,“查看结果树”如下所示:

enter image description here

我希望查看结果以以下方式显示结果:

GetSpace-接下来的1000个项目

GetSpace-下一个1001项

GetSpace-下一个1002项

GetSpace-下一个1003项

以此类推。

我如何达到同样的目的?借助参数化或任何其他方法。

我正在为测试-单个用户使用以下线程组:

enter image description here

2 个答案:

答案 0 :(得分:2)

您可以使用如下所示的计数器:-

HTTP Request1_100${__counter(,)}

enter image description here

希望这会有所帮助。

答案 1 :(得分:2)

JMeter 4.0起,您有一个特殊的变量,其循环像/* iszba - Is Zero Based Array Detects if an array is zero based or not. PARAMS: $chkvfnc Callback in the loop allows to check the values of each element. Signature: bool function chkvfnc($v); return: true continue looping false stop looping; iszba returns false too. NOTES: ○ assert: $array is an array. ○ May be memory efficient; it doesn't get extra arrays via array_keys() or ranges() into the function. ○ Is pretty fast without a callback. ○ With callback it's ~2.4 times slower. */ function iszba($array, $chkvfnc=null){ $ncb = !$chkvfnc; $i = 0; foreach($array as $k => $v){ if($k === $i++) if($ncb || $chkvfnc($v)) continue; return false; } return true; } 一样,其中包含当前Loop Controller的导数(在您的情况下为线程组)的迭代次数

因此,如果您将采样器名称更改为:

__jm__<Name of your element>__idx

您将获得一个递增的数字,具体取决于当前的线程组迭代:

JMeter Thread Group Iteration