В этом посте шаг за шагом будет показано, как написать Java-запрос JMeter.
Шаг 1: Подготовка среды разработки
Добавьте эти два файла jar в путь к классам java.
- $ JMETER_HOME / Библиотека / внутр / ApacheJMeter_core.jar
- $ JMETER_HOME / Библиотека / внутр / ApacheJMeter_java.jar
(Если вы используете Eclipse, добавьте эти файлы в качестве внешних jar-файлов в путь сборки java.)
Шаг 2: Расширение AbstractJavaSamplerClient
После настройки пути к классам создайте пользовательский сэмплер, расширив AbstractJavaSamplerClient и переопределив следующие методы.
1
2
3
4
|
public Arguments getDefaultParameters() {...} public void setupTest(JavaSamplerContext context) {...} public void teardownTest(JavaSamplerContext context) {...} public SampleResult runTest(JavaSamplerContext context) {...} |
getDefaultParameters
Реализуйте getDefaultParameters, если вам нужны начальные значения для тестовых параметров. JMeter отобразит параметры в своем графическом интерфейсе настройки Java-запросов. (См. Содержимое красного прямоугольника на рисунке ниже.) Вот пример реализации:
1
2
3
4
5
6
7
|
public Arguments getDefaultParameters() { Arguments defaultParameters = new Arguments(); defaultParameters.addArgument( "memcached_servers" , "localhost:11211" ); defaultParameters.addArgument( "username" , "testuser" ); defaultParameters.addArgument( "password" , "testpasswd" ); return defaultParameters; } |
setupTest
Здесь вы читаете тестовые параметры и инициализируете свой тестовый клиент. JMeter вызывает этот метод только один раз для каждого тестового потока.
teardownTest
Навести порядок.
RunTest
Напишите свою тестовую логику в этом методе. JMeter будет вызывать метод runTest для каждого выполнения тестовых потоков. Вот типичная реализация runTest:
01
02
03
04
05
06
07
08
09
10
11
12
|
@Override public SampleResult runTest(JavaSamplerContext context) { SampleResult result = new SampleResult(); boolean success = true ; result.sampleStart(); // // Write your test code here. // result.sampleEnd(); result.setSuccessful(success); return result; } |
Прошедшее время между результатами result.sampleStart () и result.sampleEnd () используется для расчета среднего времени отклика тестируемого приложения.
Шаг 3. Разверните свой пользовательский сэмплер
Вы можете увидеть результаты своего теста, добавив слушателей в свой план тестирования. В посте «Пошаговое руководство по нагрузочному тестированию реляционных баз данных» показано, как добавить слушателей в планы тестирования.
Ссылка: нагрузочное тестирование, что вы хотите с Apache JMeter от нашего партнера по JCG Илькина Уласа, все ваши базы принадлежат нам в блоге.