Подтвердить что ты не робот

Тестирование Java-классов с помощью JMeter

Я хочу проверить Java Service Call. Моя первая попытка состояла в том, чтобы использовать Request Sampler Java В документе говорится:

Этот сэмплер позволяет вам управлять java класс, который реализует Интерфейс JavaSamplerClient.

Я не уверен, как получить интерфейс org.apache.jmeter.protocol.java.sampler.JavaSamplerClient, поскольку нет артефакта Maven и не предоставлены двоичные файлы на стороне JMeter. Просто JMeter Maven Plugin (это не то, что я ищу). Я мог бы установить необходимые бинарные файлы в своем локальном репозитории Maven, я просто не знаю, где они доступны.

Интересно, что кто-нибудь вообще использует "Sampler Request Java"?

P.S. Может быть, я должен попробовать JUnit Sampler

4b9b3361

Ответ 1

Мы строим с помощью ANT и используем JAR, которые находятся в двоичном файле из JMeter в разделе \lib\ext\. AbstractJavaSamplerClient, который используется для Sampler запроса Java, находится в файле \lib\ext\ApacheJMeter_java.jar. Для работы с этим абстрактным классом вам также нужно импортировать файл JAR \lib\ext\ApacheJMeter_core.jar, который (например) содержит класс SampleResult.

После создания нашего Java-класса мы помещаем полученный JAR файл также в папку \lib\ext\. Если наш класс использует любую зависимость (3-я часть JAR), мы помещаем ее в папку "\ lib". После этого вы можете запустить JMeter, и вы сможете выбрать свой Java-класс в Sampler для запроса на Java.

Вот пример такого Sampler-запроса Java:

public class JavaRequestSamplerDemo extends AbstractJavaSamplerClient {

  @Override
  public SampleResult runTest(JavaSamplerContext ctx) {
    JMeterVariables vars = JMeterContextService.getContext().getVariables();
    vars.put("demo", "demoVariableContent");

    SampleResult sampleResult = new SampleResult();
    sampleResult.setSuccessful(true);
    sampleResult.setResponseCodeOK();
    sampleResult.setResponseMessageOK();
    return sampleResult;
  }  
}