【问题标题】:DRY for JMeter testsJMeter 测试的 DRY
【发布时间】:2010-11-25 04:58:48
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: testing automated-tests jmeter


    【解决方案1】:

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

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

    贾里德

    【讨论】:

      【解决方案2】:

      你不能用 JMeter 做到这一点。用户界面不支持它。 Workbench 将是存储这些常见元素的理想场所,但它没有保存在 JMX 中。

      但是,您几乎可以对任何内容进行参数化,以便获得类似的效果。例如,我们在多个线程组中使用相同的正则表达式后处理器。尽管我们不能共享处理器,但整个表达式是测试计划中定义的参数,是共享的。当正则表达式改变时,我们只需要改变一个地方。

      他们正在讨论在 Jmeter 的未来版本中保存 Workbench。完成后,添加一些 UI 来引用 Workbench 中的元素就很简单了。

      【讨论】:

      • 很遗憾 :-( 在我们的例子中,我们通过 webapp 的 GUI 启动一些异步后台作业。找出作业是否完成的唯一方法是通过 jdbc 请求轮询数据库。这是在一个 while 控制器中完成的,它不仅仅是一个可以作为参数导入的衬垫。
      • 这就是我们同时使用 Grinder 和 JMeter 的原因。 JMeter 适用于更简单的任务,但 Grinder 更适合此类任务。
      【解决方案3】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-10-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-20
        • 1970-01-01
        相关资源
        最近更新 更多