Привет всем, у меня есть вопрос о запуске Jmeter в качестве шага в Junit, Возможно ли, чтобы в Junit вызвать файл JMX и запустить его в Jmeter? и все будет сделано от затмения?
Например: шаг 1 проверить данные в БД шаг 2 получить свойства шаг 3 данные о пожаре через Jmeter шаг 4 проверьте данные в Junit




Это должно быть возможно с использованием JMeter API.
Используйте класс StandardJMeterEngine, чтобы запустить свой тест, например:
import org.apache.jmeter.engine.StandardJMeterEngine;
import org.apache.jmeter.reporters.ResultCollector;
import org.apache.jmeter.reporters.Summariser;
import org.apache.jmeter.save.SaveService;
import org.apache.jmeter.util.JMeterUtils;
import org.apache.jorphan.collections.HashTree;
import org.junit.Test;
import java.io.File;
public class YourJUnitTestClass {
@Test
public void runJMeter() throws Throwable {
StandardJMeterEngine jmeter = new StandardJMeterEngine();
JMeterUtils.loadJMeterProperties("/path/to/your/jmeter/bin/jmeter.properties");
JMeterUtils.setJMeterHome("/path/to/your/jmeter");
JMeterUtils.initLocale();
SaveService.loadProperties();
HashTree testPlanTree = SaveService.loadTree(new File("/path/to/your/jmeter/Test.jmx"));
Summariser summer = null;
String summariserName = JMeterUtils.getPropDefault("summariser.name", "summary");
if (summariserName.length() > 0) {
summer = new Summariser(summariserName);
}
String logFile = "/path/to/result.jtl";
ResultCollector logger = new ResultCollector(summer);
logger.setFilename(logFile);
testPlanTree.add(testPlanTree.getArray()[0], logger);
jmeter.configure(testPlanTree);
jmeter.run();
}
}
Дополнительная информация: Пять способов запустить тест JMeter без использования графического интерфейса JMeter
Вы пытаетесь выполнить JMeter внутри тестов JUnit, что является неправильным подходом,
Поскольку JMeter - это в основном инструмент производительности
Apache JMeter may be used to test performance both on static and dynamic resources, Web dynamic applications. It can be used to simulate a heavy load on a server, group of servers, network or object to test its strength or to analyze overall performance under different load types.
И junit не подходит для теста производительности
JUnit is designed for unit testing. There are lot of things that need to be taken care while writing performance tests in Java
Что вы можете сделать Если вы хотите, чтобы модульное тестирование с использованием JMeter, было добавлено модульное тестирование внутри / с использованием JMeter с помощью Сэмплер JUnit
Classname the name of the class to test. The sampler will scan the jar files in jmeter/lib/ext and jmeter/lib/junit for classes extending JUnit's TestCase.
Также более чем нормально иметь несколько инструментов для выполнения различных типов тестирования.