【问题标题】:Receiving a JMeter requires the saveservice properties file to continue error接收 JMeter 需要 saveservice 属性文件才能继续错误
【发布时间】:2014-09-16 17:53:40
【问题描述】:

好的,所以我先查看并找不到,为什么会出现此错误,其次,我无法通过搜索找到答案。

所以基本上我正在尝试使用 JMeter 运行测试计划。我基本上复制/粘贴模板,用于运行现有的 .JMX 文件和创建新的测试计划,所有这些都使用纯 Java 代码。

第一个代码来自运行现有 .jmx 文件时的网络

     public static void main() throws Exception {
    // JMeter Engine
    StandardJMeterEngine jmeter = new StandardJMeterEngine();



    // Initialize Properties, logging, locale, etc.
    JMeterUtils.loadJMeterProperties("/Users/jmoore/Documents/apache-jmeter-2.11/bin/jmeter.properties");
    JMeterUtils.setJMeterHome("/Users/jmoore/Documents/apache-jmeter-2.11/bin/jmeter.sh");
    JMeterUtils.initLogging();// you can comment this line out to see extra log messages of i.e. DEBUG level
    JMeterUtils.initLocale();

    // Initialize JMeter SaveService
    SaveService.loadProperties();

    // Load existing .jmx Test Plan
    FileInputStream in = new FileInputStream("/Users/jmoore/dev/commerce/selenium/jmeter/src/test/testplans/test1.jmx");
    HashTree testPlanTree = SaveService.loadTree(in);
    in.close();

    // Run JMeter Test
    jmeter.configure(testPlanTree);
    jmeter.run();
}

第二个(下),来自尝试创建我自己的测试计划(来自网络的示例)

@Test
public void example() {

    //JMeter Engine
    StandardJMeterEngine jmeter = new StandardJMeterEngine();

    //JMeter initialization (properties, log levels, locale, etc)

    JMeterUtils.loadJMeterProperties("/Users/jmoore/Documents/apache-jmeter-2.11/bin/jmeter.properties");
    JMeterUtils.initLogging();// you can comment this line out to see extra log messages of i.e. DEBUG level
    JMeterUtils.initLocale();

    // JMeter Test Plan, basic all u JOrphan HashTree
    HashTree testPlanTree = new HashTree();

    // HTTP Sampler
    HTTPSampler httpSampler = new HTTPSampler();
    httpSampler.setDomain("https:/www.google.com/");
    httpSampler.setPort(80);
    httpSampler.setPath("/");
    httpSampler.setMethod("GET");

    // Loop Controller
    LoopController loopController = new LoopController();
    loopController.setLoops(1);
    loopController.addTestElement(httpSampler);
    loopController.setFirst(true);
    loopController.initialize();

    // Thread Group
    ThreadGroup threadGroup = new ThreadGroup();
    threadGroup.setNumThreads(1);
    threadGroup.setRampUp(1);
    threadGroup.setSamplerController(loopController);

    // Test Plan
    TestPlan testPlan = new TestPlan("Create JMeter Script From Java Code");

    // Construct Test Plan from previously initialized elements
    testPlanTree.add("testPlan", testPlan);
    testPlanTree.add("loopController", loopController);
    testPlanTree.add("threadGroup", threadGroup);
    testPlanTree.add("httpSampler", httpSampler);

    // Run Test Plan
    jmeter.configure(testPlanTree);
    jmeter.run();
}

第一个问题(第一个代码): 为了尝试运行现有的 .JMX 文件,我不断收到错误消息: “JMeter 需要保存服务属性文件才能继续”

但好笑的是在我的/bin里,明明有个saveservice.properties文件

第二个问题(第二个代码): 它运行良好,唯一的问题是我什至没有看到标准输出。当我进行一些研究时(谷歌和通过这里),它声明取消注释有关位于“jmeter.properties”文件中的摘要器的部分 - 太好了,我做到了。我取消了以下注释:

summariser.out=true

所以我的问题是,如果取消注释并设置为“真”,为什么至少没有任何内容被打印到屏幕上?我更喜欢第二种方式而不是第一种方式,因为我可以根据自己的需要对其进行更多定制。

谢谢

【问题讨论】:

    标签: java testing load jmeter jmx


    【解决方案1】:
    1. 要解决 JMeter requires the saveservice properties file to continue 在 StandardJMeterEngine 初始化和 JMeterUtils.loadJMeterProperties 之间添加下一行

      JMeterUtils.setJMeterHome("/Users/jmoore/Documents/apache-jmeter-2.11");
      
    2. 要在测试期间查看摘要器输出,请在 jmeter.configure(testPlanTree); 节之前添加下一行

      Summariser summer = null;
      String summariserName = JMeterUtils.getPropDefault("summariser.name", "summary");//$NON-NLS-1$
      if (summariserName.length() > 0) {
          summer = new Summariser(summariserName);
      }
      
      String logFile = "/path/to/results/file.jtl";
      ResultCollector logger = new ResultCollector(summer);
      logger.setFilename(logFile);
      testPlanTree.add(testPlanTree.getArray()[0], logger);
      

    有关如何从 Java 代码运行现有 .jmx 文件以及使用 JMeter Java API 创建新 JMeter 测试的更多详细信息,请参阅 5 Ways To Launch a JMeter Test without Using the JMeter GUI。

    【讨论】:

      【解决方案2】:

      我遇到了这个错误,因为我设置了错误的 jmeter Home 如下

      JMeterUtils.setJMeterHome("C:\\apache-jmeter-2.12\\bin\\");
      

      但应该是的

      JMeterUtils.setJMeterHome("C:\\apache-jmeter-2.12\\");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-09-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-14
        • 2015-04-27
        • 1970-01-01
        相关资源
        最近更新 更多