用户参数定义中的调用函数

时间:2011-12-05 13:59:13

标签: jmeter

我正在运行一组线程组(连续),我需要在每个线程组的开头重置一些参数,以便它们具有唯一值。

目前,我正在使用测试片段引用User Paramaters节点,并将值设置为value-${__time()}。不幸的是,这会导致值逐字使用(无需解析时间)。

有没有更好的方法来实现包含函数调用的每线程组变量?

1 个答案:

答案 0 :(得分:2)

对我来说工作正常(Jmeter 2.5.1),如下例所示 设置为${__time(HMS,)}value-${__time()}的样本参数为每个线程成功解析,生成和更新(每次迭代一次)(在这种情况下:3个线程组,5个线程@ 3个循环)。

user params example

您能否回答一下为什么通过Test Fragment使用用户参数(根据您的帖子)?

......还有几篇文章,只是fyi:
Parametrization in JMeter with user parameter
JMeter Variables vs. Properties. vs. Parameters

<强>更新:

请查看以下结果,例如将用户参数和测试逻辑放入测试片段并从模块控制器调用。
工作方式与上面的示例相同:成功解析,在单独的循环中保存在采样器之间,并在每个线程的循环之间更新(每次迭代一次)(好吧,我在屏幕上注释了其余的线程组以获得第一个的输出只;对所有启用的TG也能正常工作。)

user params example with test fragment

我认为您也可以尝试将用户参数从测试片段配置到每个线程组,并在测试片段中仅保留测试逻辑 - 如果以上架构仍然不适合您:

user params example with test fragment

这不是很好,但模块控制器和包含控制器仍然非常“错误”,有时甚至无法预测。

您还可以尝试在方案中调试问题控制器:选择控制器&gt;单击jmeter主菜单中的帮助&gt;单击“启用调试”&gt;执行后查看jmeter.log以获取详细信息。


您还可以查看自定义Parameterized Controller - 也许它会更好用。