2015-05-19 4 views
0

Я работаю довольно давно с jMeter, но это первый раз, когда я хочу начать несколько тестов jMeter из своего собственного кода.jMeter не заменит свойства (Не работает версия)

В принципе, я скопировал здесь: 5 ways to launch jmeter test without using jmeter gui

JMX-файл был создан с помощью графического интерфейса, содержащего две переменные.

HTTP-Пробоотборник содержит в "имя сервера или IP" поле:

$ {__ Р (сервер)}

В поле Путь содержит:

/$ {__P (цель)}

Соответствующие записи в jmeter.pro perties файл является:

server=127.0.0.1 
target=README 

При работе в JMeter, оба значения заменяются и передаются правильный URL. При доступе к обоим свойствам во время выполнения Runtime в моем Java-коде он дает правильные результаты.

Когда Jmeter пытается заменить мои ценности, я получаю сообщение:

"Not running version, return raw function string" 

Я попытался проследить вниз проблему в источниках JMeter, но не получить в результате.

Java-код, который я использую:

public static void main(String[] args) throws IOException { 

    StandardJMeterEngine jmeter = new StandardJMeterEngine(); 
    JMeterUtils.loadJMeterProperties("C:\\data\\apache-jmeter-2.13\\bin\\jmeter.properties"); 
    JMeterUtils.setJMeterHome("C:\\data\\apache-jmeter-2.13"); 
    JMeterUtils.initLocale(); 
    System.out.println("Property: " + JMeterUtils.getProperty("server")); 
    SaveService.loadProperties(); 
    FileInputStream in = new FileInputStream("c:\\data\\test.jmx"); 
    HashTree testPlanTree = SaveService.loadTree(in); 
    in.close(); 
    jmeter.configure(testPlanTree); 
    jmeter.run(); 
} 

Любая помощь высоко ценится.

С уважением, Jan

ответ

1

Я столкнулся с тем же вопросом. Существует отдельный артефакт jar, который содержит пару Function s, таких как org.apache.jmeter.functions.Property2. Вам нужно убедиться, что они зарегистрированы правильно.

с использованием Maven Я добавил это к моему П:

<dependency> 
    <groupId>org.apache.jmeter</groupId> 
    <artifactId>ApacheJMeter_functions</artifactId> 
    <version>${jmeter.version}</version> 
</dependency> 

Теперь, скажите JMeter для поиска дополнительных компонентов в нем

JMeterUtils.setProperty("search_paths", "ApacheJMeter_functions-2.13.jar"); 

Строка добавить к пути поиска должна соответствовать артефакт, как он найден на пути к классам. Таким образом, при запуске из затмения, которое является путем к артефакту в вашем репозитории maven.

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