【问题标题】:Modularizing JMeter tests?模块化 JMeter 测试?
【发布时间】:2011-03-22 23:38:24
【问题描述】:

我们正在寻求将我们的测试框架迁移到 JMeter。我们有 50 多个测试用例,每个测试用例都有重复的操作,例如登录和注销。如何模块化我的方法?

我正在寻找的是“从文件中添加测试项”,例如,我可以添加登录代码。

我们还需要在每个请求上传递连接ID 之类的东西。无论如何jMeter可以用Jmeter变量自动替换它的所有出现吗? Atm 代理记录器记录了实际的连接字符串,我们必须手动将其替换为 ${connectionID}。有没有更好的办法?

【问题讨论】:

    标签: java jmeter load-testing


    【解决方案1】:

    这对我来说很好。

    在测试计划的底部新建一个线程组,并在其中放入一个简单的控制器。在简单的控制器内放置您想要重复的代码。我使用了两个简单的控制器,但一个实际上是一个数据库测试用例套件。在保持线程组内的任何内容启用的同时,确保将线程组本身设为禁用,否则它将自行再次执行。

    现在,在任何特定的测试用例中,添加用户参数并添加模块控制器。模块控制器可以指向您之前制作的简单控制器部分。设置带有 ${variables} 的简单控制器,然后通过将变量放入用户参数中,在您正在运行的特定测试中覆盖它们。因此,您可以使用相同的套件获得不同的变量和测试。

    我在 Simple Controller 中放置了一个 Simple Controller 以添加冗长的数据库测试。这最终成为

    线程组 > 简单控制器 > 简单控制器 > JDBC 请求。全部重命名。

    您可以在测试中的模块控制器中选择不同的。我现在大约有六个,但这种情况会重复数十次。

    这都是 Jmeter 2.3 的库存。如果您处于无法安装插件的环境中,这将正常工作。我从来没有尝试过

    HTH

    【讨论】:

    • 最近的版本 (>2.5) 添加了Test Fragment 控制器来覆盖那些用于模块化的虚拟简单控制器。
    【解决方案2】:

    就自动替换连接 ID 而言,据我所知,没有一种方法可以通过 GUI 来实现。但是,测试脚本是简单的 XML 文件,因此很容易编写 sed 或 awk 脚本来代替您。

    至于“从这里添加测试文件”部分,在2.6(不确定其他版本,没有使用它们)中有一个名为“包含控制器”的逻辑控制器可以加载测试sn-ps。还有能够将称为“测试片段”的测试代码的 sn-ps 保存到自己的 .jmx 文件中。

    如果你开始一个新的测试计划,右键单击测试计划然后添加 -> 测试片段 -> 测试片段这将添加容器,然后你可以添加你的其他请求并在上述包含元素中使用这个块。

    如果您能够使用最新版本,或者之前的版本支持此功能,那么这可能比编写自己的插件更简单。

    【讨论】:

      【解决方案3】:

      通过使用下面的 Jmeter 元素,我们可以模块化测试脚本。

      1. 测试片段
      2. 模块控制器
      3. 参数化控制器
      4. 包括控制器

      请查看此处了解更多详细信息和示例。

      http://www.testautomationguru.com/jmeter-modularizing-test-scripts/

      【讨论】:

        【解决方案4】:

        我知道你有两个选择:

        1. 模块控制器
        2. 参数化控制器

        【讨论】:

          【解决方案5】:

          我正在寻找的是“从文件中添加测试项”,例如,我可以添加登录代码。

          听起来您可能希望将一些重复的逻辑封装在您自己的自定义采样器或配置元素中。有writing plugins to JMeter on the project page的指南。

          这是我们目前的团队采用的方法,用于处理 JMeter 模拟自定义 RPC 格式的请求。

          【讨论】:

          • 可能。我找到了“将选择另存为”按钮,它可以与“合并”结合使用(这只是加载选择)。
          【解决方案6】:

          一件事是您可以在“noGUI”模型下运行 jmeter 脚本。您可以指定要运行的 jmeter 测试脚本并将其中的一批放入 .bat 文件中。喜欢:

          @echo

          JMeter -n -t MyTestPlan1.jmx

          JMeter -n -t MyTestPlan2.jmx

          我同意@matt 的另一种方式是您可以编写插件来满足您的需求。

          【讨论】:

            猜你喜欢
            • 2011-11-16
            • 1970-01-01
            • 2017-10-27
            • 1970-01-01
            • 2018-11-26
            • 1970-01-01
            • 1970-01-01
            • 2021-05-14
            • 1970-01-01
            相关资源
            最近更新 更多