xenon
@xenon
Too drunk to fsck

Как автоматически (CLI) полностью имитировать сессию пользователя?

Для автоматического тестирования нужно повторять простую рутинную операцию, скажем (ну пример чтоб понятнее было):
1. Залогиниться в ЖЖ
2. Написать пост в ЖЖ
3. Написать комментарий в какой-нибудь ветке
4. Отлогиниться

По идее, все это наверное можно сделать через его API или через curl, но здесь сама суть в том, чтобы тест имитировал пользователя. Например, если вдруг сайт в формочку добавляет какое-то скрытое поле — то оно и должно отправляться в запросе на сайт. Или если меняет название полей, то сценарий должен послать именно эти новые названия полей (потому что пользователь сделал бы именно так, и даже и не заметил бы, что имя поля в форме изменили или добавили-удалили новое скрытое поле).

Рассчитывать на то, что интерфейс сайта (куки, поля формы, итд) не изменится — нельзя. Смысл как раз в том, чтобы обнаруживать подобные изменения таким вот тестированием.

То есть каким-то образом сначала написать сценарий (в терминах «щелчок мышкой по координатам 50px:200px», либо «Заполняем поле X, заполняем поле Y, жмем submit»), а затем исполнять его. В идеале — чтобы исполнять можно было из комманд-лайна (linux). Может даже какой-то аддон для firefox который бы его запускал, переходил на сайт, заполнял формы-отправлял, выходил.

Есть советы, в какую сторону копать, какие более-менее похожие инструменты существуют?
  • Вопрос задан
  • 3202 просмотра
Пригласить эксперта
Ответы на вопрос 4
@avorobiev
Из командной строки такие тесты можно выполнять с помощью www.phantomjs.org, при этом они будут отвязаны от графического интерфейса операционной системы.
Если вам не требуется рендеринг страниц и исполнение javascript, то вполне подойдет какой-нить headless браузер (например github.com/fabpot/Goutte)
Ответ написан
@egorinsk
С этим беда, все плохо, всюду люди пишут что-то свое, например, на основе Selenium. Если у вас много пользователей, вам проще наладить обратную связь и мониторинг ошибок, пусть они бесплатно вам все тестируют и сообщают о проблемах.
Ответ написан
Комментировать
javax
@javax
Software Architect, Java Developer since 1996
Ответ написан
Комментировать
@reminded
Мы тоже используем Selenium для подобных вещей. В принципе все устраивает.

Из комерческих тулов с чем еще был опыт и которые поддерживают тестирование через управление веб браузером — это www.borland.com/products/silktester Он правда денег стоит много…
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы