是否可以通过命令行运行脚本的一部分?

时间:2018-12-06 21:01:24

标签: jmeter

是否可以在JMeter中通过命令行运行脚本的一部分?

这就是我想要做的。我在脚本中有多线程组。假设一个是步进线程组,另一个是拆下相同采样器,CSV文件等的线程组。一切都相同。现在我想只运行线程组,有时仅运行线程组。

我知道我们可以通过禁用线程组从GUI进行操作,但是我想从命令行进行操作以避免手动步骤。有可能吗?

1 个答案:

答案 0 :(得分:1)

只需使用__P() function为两个线程组定义线程数,例如:

  • 用于步进线程组:

    ${__P(stepping.threads,1)}
    

    enter image description here

  • 用于拆卸线程组

    ${__P(teardown.threads,1)}
    

    enter image description here

只要您想从command-line non-GUI mode禁用某些线程组-只需通过-J command-line argument将特定线程组的线程数设置为0

  • jmeter -Jstepping.threads=50 -Jteardown.threads=0 -n -t ...-将运行具有50个虚拟用户的步进线程组,并且将不运行tearDown线程组

  • jmeter -Jstepping.threads=0 -Jteardown.threads=1-将不运行步进线程组,并且将使用1个虚拟用户运行tearDown线程组

替代解决方案将使用Taurus工具作为包装器运行JMeter测试。金牛座提供了Modifications for Existing Scripts功能,因此您将能够使用简单的声明性YAML语法启用/禁用任意测试元素,例如:

---
execution:
  scenario:
    script: test.jmx
    modifications:
      disable:  # Names of the tree elements to disable
      - jp@gc - Stepping Thread Group (deprecated)
      enable:  # Names of the tree elements to enable
      - tearDown Thread Group

有关更多信息,请参见Navigating your First Steps Using Taurus文章。