【问题标题】:Automatically running the same test plan multiple times with different variables使用不同的变量多次自动运行相同的测试计划
【发布时间】:2014-03-01 16:16:25
【问题描述】:

我已经创建了一个测试计划来针对 HTTP 端点进行一些负载测试。我想针对多个端点运行相同的测试计划,并且发现自己每次都必须执行以下操作:

  1. 更改确定我要命中哪个端点的变量。
  2. 运行测试。
  3. 完成后,记录结果。
  4. 清除所有结果。
  5. 返回步骤 1。

我想自动化这个。以下可能吗?

  1. 将端点列表定义为变量。
  2. 对于端点中的每个端点
    • 针对端点运行测试
    • 完成后,保存结果
    • 清除所有结果。

我不知道如何自动化的特别是:

  • 开始测试
  • 定义列表样式的变量
  • 清除所有结果

任何帮助将不胜感激!

【问题讨论】:

    标签: jmeter


    【解决方案1】:

    请看下面的答案:

    开始测试

    除了从 GUI 运行 JMeter 之外,还有几个执行选项,例如:

    定义一个列表样式的变量

    JMeter 提供“属性”,可以通过 .properties 文件设置(例如,参见 JMeter 安装的 /bin 文件夹中的 user.properties)或作为名称传递/value 对 JMeter 启动脚本。例如,您可以使用read a property function,而不是在 .jmx 文件中硬编码您的主机。

    1. 将“服务器名称或 IP”字段值设置为 ${__P(myhost,)}
    2. myhost=example.com 行添加到JMeter 安装的/bin 文件夹中的user.properties 文件中,重新启动JMeter 并运行测试。请求将转到 example.com。
    3. 您也可以在命令行模式下将myhost 属性传递给JMeter,如下所示

      jmeter -Jmyhost=example.com
      

    多个属性可以这样传递:

        jmeter -Jproperty1=value1 -Jproperty2=value2 ....
    

    甚至是通过-p--propfile JMeter 命令行参数的文件

    有关更多选项和信息,请参阅Apache JMeter Properties Customization Guide

    清除所有结果

    这取决于您选择的无人值守执行选项,它们都提供至少一种删除文件和/或文件夹的方法。就个人而言,我不会删除任何结果,而是保留它们以供将来参考。为了区分不同的端点测试运行并避免覆盖,我会使用时间戳,例如:

    jmeter -Jhttp.endpoint=my.test.host -n -t your-script.jmx -l my-test-host-results-${date}.jtl
    

    在哪里

    • -J - 将端点设置为 my.test.host
    • -n - 告诉 JMeter 在非 GUI 模式下运行
    • -t - 指定要使用的 .jmx 文件
    • -l - 指定结果文件的名称和位置

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-13
      • 2014-02-19
      • 2016-07-20
      • 2010-10-19
      • 2016-08-23
      • 2011-01-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多