У меня есть тест в JMeter, и с графическим интерфейсом он работает отлично, но когда я запускаю его с использованием кода Java (например, здесь: http://blazemeter.com/blog/5-ways-launch-jmeter-test-without-using-jmeter-gui), я не могу получить параметры из свойств. Если я напечатаю их в журнале бобы, я могу их увидеть. Но, когда я пытаюсь использовать этот параметр в потоке Group как количество пользователей, он не работает.При запуске теста Jmeter из java его не используют свойства
Подробнее:
- У меня есть подстава нить, которая подсчитывает строки файла CSV и вставляя значение для свойства, так что в следующем потоке я использовать это свойство, чтобы установить величину пользователей. (эта логика происходит дважды во время теста).
- Я использую Maven зависимостями: ApacheJMeter_http V2.11 (2,13 создает конфликт с здравом pools2 и г-убежище)
- затмение (если это имеет значение)
- Цель состоит в том, что единственный параметр Я передам тестовый прогон тестовый файл.
- Пропозиция в тесте выглядит так:
${__P(paramName)}
также попытался$(__property{paramName})
. - Я также создал свойство в самом файле вместо того, чтобы использовать в BeanShell
JMeterUtils.setProperty("paramName","5");
Добавление фрагмента боб оболочки:
import org.apache.jmeter.util.JMeterUtils;
import java.io.*;
BufferedReader br = new BufferedReader(new FileReader("C:\\res\\movieResultData.csv"));
String line;
int counter = 0;
while ((line = br.readLine()) != null) {
counter++;
}
br.close();
JMeterUtils.setProperty("statsThreadNum",Integer.toString(counter-1));
Мой код Java:
@Test
public void ttt() throws Exception {
// JMeter Engine
StandardJMeterEngine jmeter = new StandardJMeterEngine();
// Initialize Properties, logging, locale, etc.
JMeterUtils.loadJMeterProperties("C:\\apache-jmeter-2.12\\bin\\jmeter.properties");
JMeterUtils.setJMeterHome("C:\\apache-jmeter-2.12");
//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("C:\\apache-jmeter-2.12\\bin\\statsTests2.jmx");
HashTree testPlanTree = SaveService.loadTree(in);
in.close();
// Run JMeter Test
jmeter.configure(testPlanTree);
jmeter.run();
}
привет спасибо за ответ. – mushi8
Привет, спасибо за ответ. Ну, помчатся за это спасибо :). но проблема все еще стоит. Я использовал знак $, это была опечатка. также отредактировал и предоставил код beanshell, который я использую. – mushi8
Эй, извините, мне потребовалось немного, чтобы увидеть этот комментарий! Редактирование моего ответа, чтобы я мог использовать формат кода. Проверьте его над секцией POM. –