在JMeter中自动化参数化

时间:2016-02-12 11:04:52

标签: testing jmeter performance-testing

我的脚本有很多动态变化的变量,我需要对它进行大量参数化。有什么方法可以自动化或最小化参数化。我正在使用CSV&用于参数化的正则表达式。还有其他方法吗? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

除了将参数作为测试输入的CSV文件外,您还可以将输入变量定义为属性。例如,如果在测试计划的“用户定义变量”部分中定义了 customProperty (测试计划,Jmeter方案中的前1个元素,而不是用户定义的变量示例),则可以访问此值通过 $ {__ P(customProperty)} 在任何地方(甚至在不同的线程中)。

在这种情况下,您应该按以下方式启动Jmeter:

jmeter.bat -D customProperty = customValue -t path \ to \ your \ jmeter \ scenario.jmx(适用于Windows机器)。

它对自动化目标非常有用(例如,如果Jmeter由调度程序使用-n选项运行)。

如果您的参数是在测试中生成的,并且您只是想在不同的线程之间传递它们而不将其存储在文件中,那么属性也很有用。与用户定义变量(基于每个线程处理)相反,可以从任何线程访问存储为属性的值。

你是如何做到的:

  1. 运行初始请求。

  2. 使用正则表达式提取器从响应中提取变量。

  3. 使用BeanShell Sampler中的以下代码将提取的值设置为属性:$ {__ setProperty(q,$ {q})};

  4. 在任何地方使用$ {__ P(q)}。