Тесты JMeter и нестатические параметры GET / POST - PullRequest
1 голос
/ 19 ноября 2008

Какую стратегию лучше использовать при написании тестов JMeters для веб-приложения, в котором значения определенных переменных строки запроса и переменных записи будут меняться при каждом запуске.

Быстрый, общий, пример

  1. Вы переходите на веб-страницу
  2. Введите некоторую информацию в форму
  3. Нажмите Сохранить
  4. За кадром в базу данных заносится новая запись
  5. Вы хотите отредактировать только что введенную вами запись, чтобы перейти на другую веб-страницу. За кулисами передается странице параметр с идентификатором базы данных только что созданной строки

Когда вы выполняете шаг 5 вышеуказанного теста, параметр страницы / идентификатор базы данных будет меняться каждый раз.

Рабочий процесс / стратегия, которую я сейчас использую, -

  1. Запишите тест, используя вышеуказанные действия
  2. Запишите каждое место, где переменная строки запроса может меняться от запуска к запуску
  3. Используйте XPath или экстрактор регулярных выражений, чтобы извлечь значение из ответа и в переменную JMeter
  4. Замените все соответствующие экземпляры жестко запрограммированного параметра на указанную выше переменную.

Это работает и может быть автоматизировано до определенной степени. Тем не менее, он может стать утомительным, подвержен ошибкам и хрупким. Есть ли лучший / общепринятый способ справиться с этой ситуацией? (Или именно поэтому большинство людей просто используют JMeter для воспроизведения логов? (-;)

Ответы [ 2 ]

2 голосов
/ 20 мая 2009

Звучит так, будто ты на правильном пути. Лучшее, что может быть достигнуто с помощью JMeter - это извлечение переменных страницы с помощью регулярного выражения или постпроцессора xpath. Однако вы абсолютно правы в том, что это не масштабируемое решение, и его становится все сложнее поддерживать или расширять.

Если вы достигли этой точки, вы можете рассмотреть инструмент, более специализированный для решения подобных проблем. Взгляните на инструмент веб-тестирования, такой как Watir, он будет автоматически обрабатывать изменения параметров сообщений; но вам все равно придется извлекать параметры, если вам нужно обновить базу данных, но использование Watir позволяет лучше использовать код повторно, делая проблему менее болезненной.

1 голос
/ 10 апреля 2009

Мы добились большого успеха в тестировании подобных сценариев с помощью JMeter, сохранив параметры в переменных JMeter в утверждении JDBC. Затем мы выполняем http get / post и используем утверждение BSF, а javascript выполняет комплексную проверку ответа. Надеюсь, это поможет

...