代码之家  ›  专栏  ›  技术社区  ›  jens

干燥进行JMeter测试

  •  5
  • jens  · 技术社区  · 16 年前

    有没有一种方法可以模块化JMeter测试?

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

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

    有人有什么解决办法或解决办法吗?我想我不是唯一一个试图遵循干燥原则的人…

    3 回复  |  直到 15 年前
        1
  •  2
  •   JaredQ    15 年前

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

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

    贾里德

        2
  •  0
  •   ZZ Coder    16 年前

    你不能用JMeter来做这个。用户界面不支持它。工作台是存储这些公共元素的理想场所,但它没有保存在JMX中。

    但是,您可以参数化任何东西,这样您就可以获得类似的效果。例如,我们在多个线程组中使用相同的regex post处理器。即使我们不能共享处理器,整个表达式也是测试计划中定义的一个参数,它是共享的。当regex改变时,我们只需要改变一个地方。

    他们正在讨论在未来版本的JMeter中保存工作台。完成后,添加一些UI以引用工作台中的元素是很简单的。

        3
  •  0
  •   BlackGaff    15 年前

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

    可以很容易地在多个线程组中使用相同的断言。

    在测试计划级别,创建一组名为“expected\u result\u x”的用户定义变量。然后,在您的响应断言中,只需引用变量名$expected_result_x。您仍然需要手动将断言添加到您想要的特定断言所在的每个页面,但是现在,如果断言发生更改,您只需在一个位置更改断言。