干燥JMeter测试

时间:2009-09-03 07:29:30

标签: testing automated-tests jmeter

有没有办法模块化JMeter测试。

我已经为我们的应用程序记录了几个用例。它们中的每一个都位于同一测试计划中的单独线程组中。为了控制工作流,我写了一些在这些线程组中使用的基元(例如后处理器元素)。

有没有办法不将这些元素复制到每个线程组中,而是在同一个测试计划中使用某种引用?还有一种方法是从不同的文件中引用元素。

是否有人有任何解决方案或解决方法。我想我不是唯一一个试图遵循DRY原则的人......

3 个答案:

答案 0 :(得分:2)

我认为Atlassian的这篇文章描述了使用模块控制器之后的情况。我自己还没试过,但是把它放在我要做的事情清单上:)

http://blogs.atlassian.com/developer/2008/10/performance_testing_with_jmete.html

贾里德

答案 1 :(得分:0)

您无法使用JMeter执行此操作。用户界面不支持它。 Workbench将是存储这些常用元素的理想场所,但它不会保存在JMX中。

但是,你可以参数化任何东西,这样你就可以达到类似的效果。例如,我们在几个线程组中使用相同的正则表达式后处理器。即使我们不能共享处理器,整个表达式也是测试计划中定义的参数,它是共享的。当正则表达式发生变化时,我们只需要改变一个位置。

他们正在谈论在未来版本的Jmeter中保存Workbench。一旦完成,添加一些UI来引用Workbench中的元素是微不足道的。

答案 2 :(得分:0)

模块控制器可用于在不同的线程组中执行相同的样本。

可以非常轻松地在多个线程组中使用相同的断言。

在测试计划级别,创建一组名为“Expected_Result_x”的用户定义变量。然后,在您的响应断言中,只需引用变量名称$ {Expected_Result_x}。您仍然需要手动将断言添加到您想要特定断言的每个页面,但现在您只需要在断言更改时将其更改为一个位置。