Копируем код из репозитория
git clone git://github.com/greggyNapalm/firebat-console.git
открываем два терминала и в обоих переходим в каталог с тестом
cd firebat-console/examples/smoke
запускаем простой HTTP сервер, он будет возвращать листинг текущей директории в ответ на запрос
$ python -m SimpleHTTPServer
проверяем, что процесс успешно забиндил сокет и слушает его:
$ netstat ntpl | grep 8000
сделаем пробный запрос любой удобной утилитой:
$ curl -v "http://localhost:8000/"
ответ не должен быть пустым, статус код HTTP ответа должен быть 200.
Запускаем тест:
$ fire -a simple.ammo
Вывод терминала с запущеной стрельбой должен быть примерно следующим:
2012-07-02 15:46:30,420 Processing fire: local_http
2012-07-02 15:46:30,420 Ammo file: /full/path/to/simple.ammo
2012-07-02 15:46:30,421 Load schema: [['line', 1, 100, '1m'], ['const', 100, '3m'], ['step', 100, 150, 5, '1m']]
100%|######################################################################################################|Time:
2012-07-02 15:46:33,118 ammo job takes: 0:00:02.697240
2012-07-02 15:46:33,118 stpd generation finished.
2012-07-02 15:46:33,125 Fire local_http launched successfully.
Процесс запускающий Фантом, содержащий информацию о статусе стрельбы и отладочные данные демонизируется, поэтому скрипт fire завершает свою работу и возвращает управление bash.
Посмотреть список запущенных в данный момент стрельб можно следующим образом:
fire --list
Трактование листинга
fire_1341229593_196194.pid # PID файл супервизора стрельбы
--------------------------
state: phantom working # текущее состояние
duration: 431 # фактическое время работы от момента старта в секундах
total duration: 900 # расчётная длительность стрельбы
owner: uid # Ответственный за тест. если uid - не был указан.
uid: gkomissarov # под каким пользователем запущена стрельба
fire PID: 10899 # PID супервизора
phantom PID: 10900 # PID Фантома
log mtime: Mon Jul 2 15:53:44 2012 # Когда последний раз был обновлён лог ответов
log last mod: 0 # Сколь давно последний раз был обновлён лог ответов в секундах
wd: /full/path/to/fire/working/directory # Рабочий каталог стрельбы, в нём находятся логи и результаты
Терминал с запущеным Web сервером:
$ python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...
localhost - - [27/Apr/2012 13:27:03] "GET / HTTP/1.1" 200 -
localhost - - [27/Apr/2012 13:27:10] "GET / HTTP/1.1" 200 -
После завершения стрельбы мы получим результаты в рабочем каталоге и сможем построить на их основе графики и таблицы.
Для детального разбора результатов можно обратиться к разделу Анализ выходных данных.