В этой статье лишь кратко описаны загрузка, установка и базовое использование Jmeter.
1. Первое знакомство с Jmeter
Некоторое время назад при самотестировании клиентского приложения возникла проблема, что данные, возвращаемые по запросу определенного интерфейса, были пустыми.Руководитель попросил меня 100 раз прокрутить запрос на этот интерфейс, чтобы посмотреть, есть ли они проблема с пустым результатом. Я услышал от своих коллег, что существует Jmeter, профессиональный инструмент для тестирования, но я был не очень занят, поэтому начал использовать Jmeter для тестирования этого интерфейса.
Что такое Джметр?
Apache Jmeter — это инструмент стресс-тестирования на основе Java, разработанный организацией Apache. Он используется для программного обеспечения для стресс-тестирования. Первоначально он был разработан для тестирования веб-приложений, а затем был расширен для других областей тестирования.
Для чего используется Jmeter?
- Может использоваться для тестирования статических и динамических ресурсов, таких как статические файлы, сервлеты Java, объекты Java, базы данных и т. д.;
- Вы можете моделировать огромные нагрузки на серверы, сети или объекты, проверять их прочность и анализировать общую производительность при различных уровнях нагрузки;
- Может проводить функциональное/регрессионное тестирование приложений;
Преимущества Jmeter
Полностью портативный и 100% чистый Java, очень кроссплатформенный;
2. Загрузка и установка Jmeter
Перейдите на домашнюю страницу официального сайта Apache Jmeter https://jmeter.apache.org/, нажмите «Загрузить выпуски» слева.
Нажмите на сжатый пакет в разделе «Двоичные файлы», чтобы загрузить.Последняя версия — 5.4.1.
После успешной загрузки распакуйте и используйте его напрямую без установки, поэтому распакуйте сжатый пакет в папку часто используемого программного обеспечения.
Откройте терминал и перейдите в каталог bin в распакованной папке.
Выберите папку apache-jmeter-5.4.1, щелкните правой кнопкой мыши - сервис - создайте новое окно терминала, расположенное в папке.
Введите команду: sh jmeter, чтобы открыть программное обеспечение Jmeter.
Стартовая страница программного обеспечения
Настройка программного обеспечения Китайский, Параметры-Выбор языка-Китайский (упрощенный)
3. Базовое использование Jmeter
При использовании Jmeter я ориентируюсь на спрос [здесь указанный интерфейс повторяется 100 раз] с целью выполнить запрос и изучить Jmeter в соответствии с спросом.
1. Создайте группу потоков
Базовая конфигурация группы потоков
Моя конфигурация для группы потоков здесь — 1 количество потоков с интервалом в 1 секунду и циклом в 5 раз.
2. Добавьте http-запрос
В вновь созданной группе потоков добавьте — sampler — Http-запрос.
Если интерфейс: https://app.test.com/app_login?userName=hahaha&password=7844112b3344112b34f7
1.https请求需要在协议里明确填写https,
2.服务器路径或ip项填写:app.test.com【注意不用填写https://,末尾也没有/】
3.Http请求项根据当前接口的请求方式填写,一般为post或get
4.路径项填写:/app_login?userName=hahaha&password=7844112b3344112b34f7
5.端口号:https方式请求,端口号需要填写443,http方式不用填写
6.请求参数,根据参数字段值进行添加
После настройки параметров интерфейса добавляем дерево результатов просмотра и можем его протестировать.
3. Добавить дерево результатов просмотра
Выберите HTTP-запрос, щелкните правой кнопкой мыши-Добавить-Прослушиватель-Просмотреть дерево результатов.
Создайте на компьютере файл csv для сохранения результатов теста, а затем настройте файл в дереве результатов просмотра.
Затем вы можете протестировать и запустить этот интерфейс, выбрать группу потоков и щелкнуть правой кнопкой мыши, чтобы начать.
Вам будет предложено проверить, что файл в дереве результатов уже существует. Следует ли перезаписать файл или добавить его к существующему файлу, можно выбрать в соответствии с вашими потребностями.
Нажмите, чтобы просмотреть дерево результатов. Запрошенные результаты вы увидите в списке справа. Зеленая галочка указывает на то, что запрос интерфейса успешен.
Результаты данных ответа можно просмотреть несколькими способами.
Просмотр данных файла, сохраненных в дереве результатов локально.Для просмотра доступны некоторые основные данные результатов теста.
На данный момент в принципе достаточно провести стресс-тестирование определенного интерфейса 100 раз. Однако просмотреть результаты затруднительно. Чтобы просмотреть результаты, необходимо вручную щелкать по каждому интерфейсу один за другим. Например, интерфейс в моем текущем проекте возвращает поле кода состояния ret. Ret=0 означает, что интерфейс нормальный и данные возвращаются. ret=-2 означает, что интерфейс нормальный и данные не возвращаются. Щелкать по 100 раз вручную для просмотра результатов слишком неэффективно.Можно написать скрипт, сохраняющий определенное поле, возвращаемое интерфейсом, в локальный файл, а затем просматривать результаты непосредственно в файле.Это будет гораздо удобнее.
Затем используется экстрактор регулярных выражений Jmeter и постпроцессор BeanShell.
4. Добавьте экстрактор регулярных выражений
Экстрактор регулярных выражений извлекает указанные данные из результата ответа.
Например, если вы хотите отфильтровать значение поля ret { "ret": 0 }, возвращаемое интерфейсом, конфигурация будет следующей:
5. Добавьте постпроцессор BeanShell.
Программа-скрипт выглядит следующим образом: она сохраняет данные, соответствующие регулярному выражению, в локальный файл.
Исходный код выглядит следующим образом:
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import org.apache.jmeter.samplers.*;
import org.apache.jmeter.config.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
FileWriter fstream = new FileWriter("/Users/xxx/Desktop/666.csv",true);
BufferedWriter out = new BufferedWriter(fstream);
out.write(vars.get("ret")+"\n");
out.close();
fstream.close();
var ret=vars.get("ret");
if(ret!=0){
log.info("ssssssssssssssssssssssssssssssssssssssssssssssssssssss,ret:"+ret);
}
log.info может выводить логи на консоль
6. Запустите тест
Выберите http-запрос и щелкните правой кнопкой мыши, чтобы начать.
1. Сначала проверьте результаты работы журнала.
Было обнаружено, что для 10 запусков все возвращаемые значения поля ret были равны 0.
2. Проверьте, сохраняет ли локальный файл значение поля ret.
Вы можете видеть, что в файле 666.csv сохранено значение ret. Мы можем более удобно фильтровать нужные нам результаты тестов, просмотрев файл 666.csv.
4. Резюме
Я знаком с основными функциями тестового интерфейса Jmeter, но он также имеет много мощных функций. Поскольку я не использовал их в настоящее время, я не изучал их дальше. Я продолжу учиться, когда буду использовать их в будущем.