2016-02-22 3 views
0

Я создал файл jmx с использованием java-кода. Но когда я попытался выполнить jmx-файл с помощью java, он выдает исключение. Помогите мне .. Я добавил все банки. (Ошибка в NonGUIDriver java.lang.IllegalArgumentException: Проблема при загрузке XML с: '/ дома/ksahu/MyScreenshots/k.jmx', преобразования ошибок com.thoughtworks.xstream.converters.ConversionException: нуль: нуль)Запустить jmx-файл с помощью java

import org.apache.jmeter.engine.StandardJMeterEngine; 
    import org.apache.jmeter.protocol.http.sampler.HTTPSampler; 
    import org.apache.jmeter.save.SaveService; 
    import org.apache.jmeter.util.JMeterUtils; 
    import org.apache.jorphan.collections.HashTree; 

    import java.io.FileInputStream; 

    public class RunJMXfile { 

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


      // Initialize Properties, logging, locale, etc. 
      JMeterUtils.loadJMeterProperties("/home/ksahu/apache-jmeter-2.13/bin/jmeter.properties"); 
      JMeterUtils.setJMeterHome("/home/ksahu/apache-jmeter-2.13"); 
      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("/home/ksahu/MyScreenshots/k.jmx"); 
      HashTree testPlanTree = SaveService.loadTree(in); 
      in.close(); 

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

Это код, который я использовал для создания файла JMX

import java.io.FileNotFoundException; 
import java.io.FileOutputStream; 
import java.io.IOException; 

import org.apache.jmeter.control.LoopController; 
import org.apache.jmeter.engine.StandardJMeterEngine; 
import org.apache.jmeter.protocol.http.sampler.HTTPSampler; 
import org.apache.jmeter.save.SaveService; 
import org.apache.jmeter.testelement.TestElement; 
import org.apache.jmeter.testelement.TestPlan; 
import org.apache.jmeter.threads.SetupThreadGroup; 
import org.apache.jmeter.util.JMeterUtils; 
import org.apache.jorphan.collections.HashTree; 


public class jmeterTesting { 

    public static void main(String[] args) throws FileNotFoundException, IOException{ 
     // Engine 
     StandardJMeterEngine jm = new StandardJMeterEngine(); 
     JMeterUtils.setJMeterHome("/home/ksahu/apache-jmeter-2.13"); 

     // jmeter.properties 
     JMeterUtils.loadJMeterProperties("/home/ksahu/apache-jmeter-2.13/bin/jmeter.properties"); 

     HashTree hashTree = new HashTree();  

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

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

     // Thread Group 
     SetupThreadGroup threadGroup = new SetupThreadGroup(); 
     threadGroup.setNumThreads(1); 
     threadGroup.setRampUp(1); 
     threadGroup.setSamplerController((LoopController)loopCtrl); 

     // Test plan 
     TestPlan testPlan = new TestPlan("MY TEST PLAN"); 

     hashTree.add("testPlan", testPlan); 
     hashTree.add("loopCtrl", loopCtrl); 
     hashTree.add("threadGroup", threadGroup); 
     hashTree.add("httpSampler", httpSampler);  
     jm.configure(hashTree); 



     jm.run(); 
     System.out.println(hashTree); 
     SaveService.saveTree(hashTree,new FileOutputStream("/home/ksahu/MyScreenshots/k.jmx")); 
    } 
} 
+0

вы пробовали чтение трассировки стека? Также, пожалуйста, прикрепите его. –

+0

да, я пробовал читать трассировку стека. –

+0

Ошибка в NonGUIDriver java.lang.IllegalArgumentException: проблема загрузки XML из: '/ home/ksahu/MyScreenshots/k.jmx', ошибка преобразования com.thoughtworks.xstream.converters.ConversionException: null: null –

ответ

1

Try, чтобы открыть свой /home/ksahu/MyScreenshots/k.jmx в JMeter GUI. Если он не открывается - есть проблема с кодом, вы создали JMX-файл. В этом случае обновите свой вопрос с помощью кода, который вы использовали для создания файла k.jmx.

Подробнее см. В главе 4. RUN A JMETER TEST THROUGH A PROGRAM (FROM JAVA CODE) из Five Ways To Launch a JMeter Test without Using the JMeter GUI.

Также есть пример проекта, который можно использовать в качестве справки: https://bitbucket.org/blazemeter/jmeter-from-code/

+0

Я использовал приведенный выше код для генерации файла jmx –

+0

Я пробовал его открывать в режиме графического интерфейса, но он выдает исключение –

Смежные вопросы