Skip to Content

Pylot - утилита для нагрузочного тестирования веб приложений

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

 

Основные возможности Pylot:

  • Поддержка протоколов HTTP и HTTPS (SSL)
  • Генерация многопоточной нагрузки
  • Автоматическая обработка cookies
  • Проверка ответов сервера с помощью регулярных выражений
  • Отображение статистики в реальном времени
  • Генерация подробного отчета о результатах тестирования (HTML + графики)
  • Работа в консольном и графическом режимах
  • Возможность удаленной работы при помощи XML-RPC
  • Кросс платформенность (Pylot написан на Python)

Для того, чтобы начать работу с Pylot, вам понадобятся:

  • Собственно, сам Pylot
  • Python версии 2,5 и выше
  • Библиотека wxPython (необходима только в том случае, если вы собираетесь работать с утилитой в графическом режиме)
  • Библиотеки NumPy и Matplotlib (понадобятся только в том случае, если вы хотите видеть графики в отчетах о результатах тестирования)

После того, как все необходимое будет установлено, достаточно будет выполнить скрипт run.py, находящийся в папке с программой. Запуск этого скрипта без дополнительных атрибутов выведет на экран небольшую справку, в которой будут описаны все возможные опции утилиты. Также, если вы установили wxPython, то после выполнения команды:

python run.py -g

будет запущен графический интерфейс программы

Все тест кейсы для Pylot должны быть записаны в формате xml. По умолчанию они хранятся в файле testcases.xml. Формат их записи следующий:

  <case>
      <url>URL</url>
      <method>HTTP METHOD</method>
      <body>REQUEST BODY CONTENT</body>
      <add_header>ADDITIONAL HTTP HEADER</add_header>
      <verify>STRING OR REGULAR EXPRESSION</verify>
      <verify_negative>STRING OR REGULAR EXPRESSION</verify_negative>
      <timer_group>TIMER GROUP NAME</timer_group>
   </case>
 

Обязательным является лишь тег <url>, все остальные можно использовать по мере необходимости.

Для пользователей Windows существует приятный бонус в виде утилиты для записи тестов, которая находится в каталоге ..\pylot\util. Для ее запуска вам понадобится установить PyWin32 и набрать в командной строке

python pylot_win_recorder.py

после чего будет запущен IE и все действия, которые вы будете выполнять в его окне, будут выведены в консоль в виде HTTP запросов записанных в формате xml-тест кейсов.

В качестве результатов тестирования Pylot предлагает использовать HTML файл со сводными метриками, а также логи ответов сервера для каждого из потоков.

Более подробно узнать о Pylot можно на официальном сайте программы pylot.org

+++++++++-

 Попробовал - в результате в

 Попробовал - в результате в файле-эхе появляются  строки

  <case>

    <url>javascript:''</url>

  </case>

Соответственно, при запуске pylot с эти файлом - происходит ругань.

Что  не так ?

 

 

 

 

 Что не так? На самом деле

 Что не так?

На самом деле "все так" Smile Такие строки появляются в результате вызова аяксовых запросов, либо клика по ссылкам вида javascript:void() во время записи теста. По той же причине могут появляться и строки вида <url>about:blank</url>. Естественно, что такие записи можно смело удалять из тест кейса. А вот сам запрос, скорее всего, прийдется записать вручную. Благо HTTP вьюверов сейчас хоть пруд пруди: HTTP Live Headers для FF, Dragonfly для Opera, ieHTTPheaders для IE или тот же Paros для всего Smile

Пилот действительно простая и

Пилот действительно простая и удобная утилитка. Когда искал инструмент для нагрузочного тестирования HTTP POST запросами, то среди всей тучи имеющихся инструментов только два поддерживало POST запросы нормально - пилот и jmeter. И все же выбор пал на JMeter, ибо более гибкий и более мощный инструмент. Собственно простенький вариант теста на JMeter расписал в блоге - http://sorokin.in.ua/?p=323

попробую на днях Pylot, пока

попробую на днях Pylot, пока использую siege

Перешел на LR 9.52.. ИМХО, он

Перешел на LR 9.52..
ИМХО, он будет получше Pylot'а