Программная конфигурация JMeter с данными испытаний CSV - PullRequest
0 голосов
/ 16 мая 2018

Я запускаю JMeter программно из кода Java, и я хотел бы сгенерировать кучу запросов POST с различным телом. Вот пример, который я использую для генерации одного запроса:

HTTPSamplerProxy sampler = new HTTPSamplerProxy();
sampler.setDomain("localhost");
sampler.setPort(8081);
sampler.setPath("/service");
sampler.setMethod("POST");
sampler.addEncodedArgument("body", "{\"key\": \"data\"}");
sampler.setProperty(TestElement.TEST_CLASS, HTTPSamplerProxy.class.getName());

Как заменить data в теле для каждого запроса значением из файла CSV?

Я знаю, что в версии GUI есть плагин CSV Data Set Config, но я не нашел способа использовать его из кода Java.

1 Ответ

0 голосов
/ 17 мая 2018

Учитывая, что вы можете создать сэмплер HTTP Request , используя JMeter API , вы можете предпринять аналогичные шаги для создания CSV Data Set Config . Просто посмотрите в файл .jmx и конвертируйте то, что вы видите там, в код Java.

На всякий случай, если вы не можете:

CSVDataSet csvDataSet = new CSVDataSet();
csvDataSet.setName("CSV Data Set Config");
csvDataSet.setProperty("delimiter", ",");
csvDataSet.setProperty("filename", "test.csv");
csvDataSet.setProperty("ignoreFirstLine", false);
csvDataSet.setProperty("quotedData", false);
csvDataSet.setProperty("recycle", true);
csvDataSet.setProperty("shareMode", "shareMode.all");
csvDataSet.setProperty("stopThread", false);
csvDataSet.setProperty("variableNames", "foo");
csvDataSet.setProperty(TestElement.TEST_CLASS, csvDataSet.getClass().getName());
csvDataSet.setProperty(TestElement.GUI_CLASS, TestBeanGUI.class.getName());

См. Пять способов запуска теста JMeter без использования графического интерфейса пользователя JMeter , чтобы получить дополнительную информацию о различных способах запуска теста JMeter, включая создание сценария с нуля в Java.


Если генерация плана тестирования должна быть программной, но не обязательной для Java, инструмент Taurus будет гораздо проще в использовании, поскольку вы сможете создать тест с использованием декларативного синтаксиса YAML.

...