有没有一种模块化JMeter测试的方法。DRY for JMeter测试
我记录了我们的应用程序的几个用例。它们中的每一个都位于同一测试计划中的单独线程组中。为了控制工作流程,我编写了一些在许多这些线程组中使用的基元(例如后处理器元素)。
有没有办法不将这些元素复制到每个线程组中,而是在相同的测试计划中使用某种引用?同样有用的是一种引用来自不同文件的元素的方法。
有没有人有任何解决方法或解决方法。我想我不是唯一一个试图遵循DRY原则的人...
有没有一种模块化JMeter测试的方法。DRY for JMeter测试
我记录了我们的应用程序的几个用例。它们中的每一个都位于同一测试计划中的单独线程组中。为了控制工作流程,我编写了一些在许多这些线程组中使用的基元(例如后处理器元素)。
有没有办法不将这些元素复制到每个线程组中,而是在相同的测试计划中使用某种引用?同样有用的是一种引用来自不同文件的元素的方法。
有没有人有任何解决方法或解决方法。我想我不是唯一一个试图遵循DRY原则的人...
我认为这篇文章从Atlassian描述了你在使用模块控制器之后。我还没有尝试过自己还,但有它我对事物的名单上做:)
http://blogs.atlassian.com/developer/2008/10/performance_testing_with_jmete.html
贾里德
你不能用JMeter做到这一点。用户界面不支持它。 Workbench将是存储这些常用元素的理想场所,但它不会保存在JMX中。
但是,您可以参数化几乎任何东西,以便获得类似的效果。例如,我们在几个线程组中使用相同的正则表达式后处理器。尽管我们不能共享处理器,但整个表达式是测试计划中定义的参数,它是共享的。当正则表达式改变时,我们只需要改变一个地方。
他们正在讨论在Jmeter的未来版本中保存Workbench。完成之后,添加一些UI以引用Workbench中的元素是很简单的。
模块控制器是在不同的线程组执行相同的样本非常有用。
可以很容易地在多个线程组中使用相同的断言。
在您的测试计划级别,创建一组名为“Expected_Result_x”的用户定义变量。然后,在您的响应声明中,只需引用变量名称$ {Expected_Result_x}。您仍然需要手动将断言添加到每个需要特定断言的页面,但现在如果断言更改,则只需将其更改为一个位置即可。
很伤心:-( 在我们的例子中,我们通过webapp的GUI启动了一些异步后台作业,找出作业是否完成的唯一方法是通过jdbc请求轮询数据库。在一个while控制器中,这可能是一个可能导入的参数 – jens 2009-09-03 11:22:39
这就是为什么我们同时使用Grinder和JMeter。JMeter适用于简单的任务,但是Grinder对于这样的事情更加强大。 – 2009-09-03 12:12:13