0

问题:

我目前正在我的 jmeter .jmx 测试文件中对密码进行硬编码。我希望能够在 config.yaml 或命令行中使用类似“-o modules.jmeter.properties”的开关设置它(在 CI 管道中替换它)

但是,我无法让其中任何一个实际替换 .jmx 文件中的值。

我浏览了Taurus doco并最终尝试了以下内容。

更新 config.yaml 文件:

execution:
- executor: jmeter
  scenario:
   script: ../scripts/apigee_loadtesting.jmx
   data-sources:
    - ../datafiles/
 concurrency: 2
 ramp-up: 30s
 hold-for: 1m
 steps: 2

modules:
  jmeter:
    properties:
      es.password: P@ssw0rd!

还从命令行尝试了这个:

bzt ../config.yaml -o modules.jmeter.path=/usr/local/apache-jmeter-4.0.2/bin/jmeter \
-o modules.jmeter.properties.espassword=P@ssw0rd! config.yaml

但他们似乎都没有做任何有意义的事情,任何建议将不胜感激

4

1 回答 1

1
  1. Taurus 本身不会更改 .jmx 脚本中的任何内容,只需确保您使用.jmx 脚本中的__P() 函数引用该属性${__P(es.password,)},并且该值将替换为 .jmx 文件中的值或命令行覆盖。
  2. 我会避免在属性名称中使用点,因为它可能会导致从命令行覆盖属性值时出现问题。espassword所以尽可能坚持到任何地方
  3. 更改您的命令行因此config.yaml将是最后一个参数,例如:

    bzt -o modules.jmeter.path=/usr/local/apache-jmeter-4.0.2/bin/jmeter -o modules.jmeter.properties.espassword=P@ssw0rd! config.yaml
    

有关使用 Taurus运行 JMeter 测试的更多信息,请参阅Navigating your First Steps Using Taurus文章

于 2018-09-04T06:39:43.980 回答