Тестирование Java-классов с JMeter - PullRequest
17 голосов
/ 04 марта 2010

Я хотел бы проверить вызов службы Java. Моей первой попыткой было использование "Java Request Sampler" Документ гласит

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

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

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

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

1 Ответ

27 голосов
/ 04 марта 2010

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

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

Вот пример такого Java Sampler Request:

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;
  }  
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...