Jmeter:使用java运行nongui命令

时间:2015-08-28 11:18:49

标签: jmeter

我正在尝试使用java运行jmeter nongui命令,如下所示:

Runtime rt = Runtime.getRuntime();

Process pr = rt.exec("C:\\apache-jmeter-2.13\\bin\\jmeter.bat -t \"C:\\jmeter scripts\\test.jmx\" -n -l \"C:\\jmeter scripts\\nonGUI.csv\"");

它运行得非常好,直到我添加参数: -Jusers=15在下一次运行中上面提到的命令中。{/ p>

为线程数设置的属性为:${__P(users,10)}

结果文件似乎没有填满,并且该进程似乎永远在CPU资源监视器下运行。

P.S。:请不要建议我使用blazemeter网站上给出的步骤运行jmeter文件。它使用了一种已弃用的方法,并且没有给出该网站中可能的运行时错误的解决方案。

3 个答案:

答案 0 :(得分:1)

我无法重现您的错误,但这是JMX File的完整示例。我删除了对#34;"的需要。

  // OSX exmaple  
  public class r {
      public static void main(String[] args) throws Exception {
        Runtime rt = Runtime.getRuntime();
        Process pr = rt.exec("/usr/local/bin/jmeter -t /Users/rfriedman/jmeter/SimpleUrl.jmx -Jusers=15 -n -l /Users/rfriedman/jmeter/nonGUI.csv");
      }
    }

只是为了确保我在Windows上运行修改

// Windows Example
public class r {
        public static void main(String[] args) throws Exception {
            Runtime rt = Runtime.getRuntime();
            Process pr = rt.exec("C:\\Users\\rfriedman\\Desktop\\apache-jmeter-2.13\\bin\\jmeter.bat -t C:\\Users\\rfriedman\\Desktop\\SimpleUrl.jmx -Jusers=20 -n -l C:\\Users\\rfriedman\\Desktop\\nonGUI.csv");  
        }
    }

JMeter Test Plan

答案 1 :(得分:0)

在我为同步计时器添加类似于线程计数的属性值后,它可以正常工作。

另外,如果我必须以变量的形式传递-Jusers的值,该怎么做?我正在尝试执行以下操作。但它没有被执行。 例如: int值= 10; 处理pr = rt.exec(“C:\ Users \ rfriedman \ Desktop \ apache-jmeter-2.13 \ bin \ jmeter.bat -t C:\ Users \ rfriedman \ Desktop \ SimpleUrl.jmx -Jusers = value -n -l C:\ Users \用户rfriedman \桌面\ nonGUI.csv“);

<强>更新

我尝试使用String value =“10”;同样。 jmeter日志仍然说:

“jmeter.reporters.Summariser:summary = 0 in 0s = ****** / s Avg:0 Min:9223372036854775807 Max:-9223372036854775808 Err:0(0.00%)”

答案 2 :(得分:0)

使用此代码段。

int value = 10;
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("C:\\apache-jmeter-2.13\\bin\\jmeter.bat" +
            " -t \"C:\\jmeter scripts\\test.jmx\" -Jusers=" + value + " -Jsync=" + value + 
            " -n -l \"C:\\jmeter scripts\\nonGUI.csv\" -j \"C:\\jmeter scripts\\jmeterLogs.log\"");