Сценарий
Используя Apache JMeter, реализовать сценарий работы с текущим сайтом.
Продемонстрировав умения:
- рассчитывать шаг нагрузки и количество виртуальных пользователей;
- замерять фактическое время выполнения сценария;
- посылать HTTP-запросы;
- обрабатывать XML-ответы, используя XPath-выражения;
- обрабатывать HTML-ответы, используя CSS/JQuery-выражения;
- обрабатывать JSON-ответы, используя JSON Path-выражения;
- обрабатывать текстовые данные, используя регулярные выражения;
- работать с переменными в Apache JMeter
- ставить паузы в сценарий;
- работать с тестовыми данными, загружаемыми из CSV-файла;
- выполнять аутентификацию на сайте, настраивать поддержку Cookies в сценарии и отправлять POST-запросы;
- отправлять комментарии, работать с тестовыми данными и отправлять POST-запросы, а также выполнять корреляцию параметров формы.
Сценарий работы:
- Открыть стартовую страницу сайта.
- Загрузить RSS-ленту, выбрать из RSS ссылку на случайную статью и открыть статью по выбранной ссылке. Демонстрация работы с XML.
- Продемонстрировать работу с JSON:
- или получить список записей с категорией «тестовая страница«, используя REST-api, из ответа выбрать ссылку на случайную статью, используя JSON Path и открыть статью. Демонстрация работы с JSON;
- или нажать кнопку Предыдущие записи на стартовой странице, из JSON-ответа сервера выбрать ссылку на одну из предыдущих статей и открыть статью по выбранной ссылке. Демонстрация работы с JSON и RegExp.
- Открыть статью по ссылке, указанной как персональная тестовая страница, заданная для каждого ученика.
- Оставить комментарий к тестовой странице, неавторизованным пользователем. Работа с CSS-селекторами.
- Пауза 10-15 секунд минимум.
- Оставить комментарий к тестовой странице, выполнив аутентификацию. Работа с CSS-селекторами.
- Пауза за счёт ожидания завершения шага нагрузки, шаг нагрузки нужно рассчитать.
Интенсивность работы
Подобрать шаг нагрузки и количество пользователей так, чтобы суммарная интенсивность выполнения такого сценария была 1,5-3,5 сценария в минуту.
Чтобы расчёт шага нагрузки не повторялся, у каждого варианта выполнения задания своё количество VU (виртуальных пользователей):
- Пример статьи # 1 — 1,5 сценария в минуту
- Пример статьи # 2 — 1,6 сценария в минуту
- Пример статьи # 3 — 1,7 сценария в минуту
- Пример статьи # 4 — 1,8 сценария в минуту
- Пример статьи # 5 — 1,9 сценария в минуту
- Пример статьи # 6 — 2,0 сценария в минуту
- Пример статьи # 7 — 2,1 сценария в минуту
- Пример статьи # 8 — 2,2 сценария в минуту
- Пример статьи # 9 — 2,3 сценария в минуту
- Пример статьи # 10 — 2,4 сценария в минуту
- Пример статьи # 11 — 2,5 сценария в минуту
- Пример статьи # 12 — 2,6 сценария в минуту
- Пример статьи # 13 — 2,7 сценария в минуту
- Пример статьи # 14 — 2,8 сценария в минуту
- Пример статьи # 15 — 2,9 сценария в минуту
Описание того, как рассчитать шаг нагрузки и количество пользователей есть в статье:
Длительность работы
Длительность надо рассчитать так, чтобы тест оставил примерно 30 комментариев.
Так если интенсивность 4 сценария в минуту. И в сценарии добавляется два комментария — от авторизованного и не от авторизованного пользователя. То получается что создаётся 8 комментариев в минуту.
30 комментариев создастся за, примирено, за 3 минуты работы теста. Плюс время разгона — получится 30 комментариев всего за тест.
Если измерять в итерациях на пользователя, то если работает 6 виртуальных пользователей, то каждый должен сделать 5 итераций.
Ссылки на описание заданий
Задания содержатся в рубрике Задание по школе тестирования:
- Работа с XML в JMeter.
- Работа с JSON в Apache.JMeter.
- Открыть статью (html-страница).
- Оставить комментарий к статье.
Инструкции
Также пригодятся инструкции:
- Fiddler 4. Настройка HTTPS;
- Git. Системы контроля версий;
- Шаг нагрузки — pacing;
- Рецепт хорошего скрипта JMeter.
Пример
Пример внешнего вида скрипта: