Эмуляция сеанса просмотра пользователя для модульного теста - PullRequest
1 голос
/ 31 января 2011

Я ищу фреймворк, который позволил бы мне эмулировать сеанс просмотра пользователями.

Типичная сессия выглядит так:

  1. Перейдите на домашнюю страницу, получите сеанс
  2. быть перенаправленным на текущую страницу
  3. Нажмите на ссылку
  4. Подключайся
  5. Отправить форму
  6. и со ...

Я бы хотел определить этот сеанс с помощью вызовов API.

Какие рамки вы бы порекомендовали для запуска этой установки? Он должен быть запущен без заголовка (не внутри браузера), чтобы иметь возможность выполнять его через Hudson.

Язык не имеет значения, Python из Java будет здорово.

Спасибо,
Максим.

Ответы [ 3 ]

1 голос
/ 31 января 2011

Есть несколько структур, которые могут сделать это. Проверить:

https://github.com/axefrog/XBrowser

http://htmlunit.sourceforge.net/

и ответ на этот вопрос: Альтернатива HtmlUnit

1 голос
/ 31 января 2011

Взгляните на htmlunit

Он даже получил достойную поддержку javascript на основе Java.

  • Поддержка протоколов HTTP и HTTPS
  • Поддержка файлов cookie
  • Возможность указать, должны ли сбои ответов с сервера вызывать исключения или их следует возвращать в виде страниц соответствующего типа (в зависимости от типа содержимого)
  • Поддержка методов отправкиPOST и GET (а также HEAD, DELETE, ...)
  • Возможность настройки заголовков запросов, отправляемых на сервер
  • Поддержка ответов HTML
    • Оболочка дляHTML-страницы, обеспечивающие легкий доступ ко всей содержащейся в них информации
    • Поддержка отправки форм
    • Поддержка нажатия ссылок
    • Поддержка обхода модели DOM HTML-документа
  • Поддержка прокси-сервера
  • Поддержка базовой и NTLM-аутентификации
  • Отличная поддержка JavaScript
0 голосов
/ 23 июня 2011

взгляните на Selenium WebDriver с Xvfb.

В этом посте показан пример на Python:
'Python - Тесты Selenium без головы с использованием PyVirtualDisplay'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...