JUnit - тестирование веб-сайта - PullRequest
3 голосов
/ 25 августа 2010

Я очень плохо знаком с JUnit, но я хочу настроить некоторые тесты, которые выполняют следующие действия.

  1. Тестирует диапазон вызовов API от сервера к серверу - проверяет ответыПравильно - я могу сделать это нормально.

  2. Откройте веб-страницу, введите данные на нее и проверьте, что происходит при отправке - Это я борюсь с.Возможно ли это вообще?

Я думаю, что могу позвонить на веб-страницу, используя http-запрос на стороне сервера, но я не уверен, как я могу взаимодействовать с самим сайтом,т.е. введите данные в формы.

Есть мысли?

Спасибо

Стив

Ответы [ 4 ]

6 голосов
/ 25 августа 2010

Вы можете использовать Селен для этого.Я предлагаю вам использовать версию 2, которая в настоящее время находится в разработке, и скоро должна быть доступна бета-версия (альфы уже доступны).

3 голосов
/ 25 августа 2010

Взгляните на Selenium , это система для тестирования веб-приложений (и де-факто веб-сайтов), вы можете написать все свои тесты в Java. Есть еще один проект под названием Tellurium , основанный на Selenium, но Tellurium работает с groovy и DSL, на первых порах он может быть проще.

Как это работает?

  • Сначала вы создаете тесты в java (селен) или groovy (теллур)
  • Тогда вы начинаете свои тесты. Это будет работать с вашим веб-браузером. Приложение будет взаимодействовать с вашим браузером для проверки каждого дюйма вашего приложения (в том виде, как вы его кодировали)
  • В конце вы получите отчет о ваших тестах, как это делает JUnit.
0 голосов
/ 02 сентября 2010

Я предлагаю вам попробовать Robot Framework . Это среда тестирования с открытым исходным кодом, разработанная инженерами Nokia Siemens Networks.

Он в основном построен на тестовых библиотеках Python и Selenium. Он также включает поддержку тестирования кода на стороне сервера Java / J2EE через библиотеки Jython. Иногда я лично использую его в своей работе, и написание тестового примера так же просто, как описание сквозного потока с использованием Ключевые слова (большинство необходимых уже встроено) Вы могли бы пойти дальше и дать этому шанс, если вам с Selenium будет трудно работать. Инфраструктура Robot обеспечивает довольно простую абстракцию над необработанным селеном в сочетании с возможностью выполнять вызовы на стороне сервера Java / J2EE.

С уважением,
Нагендра У М

0 голосов
/ 27 августа 2010

Вы также можете использовать природу сети.Нет реальной причины визуализировать форму, заполнять ее и отправлять для проверки кода обработки формы.Отображение формы - это один HTTP-запрос, а отправка - другой.Совершенно разумно проверить код отправки формы, смоделировав, что браузер будет отправлять, и подтвердив, что он обработан правильно.

Вам нужно убедиться, что код проверки отображения и отправки формы синхронизирован, но вы этого не делаетеДля этого не обязательно нужна полная интеграция.

Существуют инструменты, позволяющие проводить тестирование без загрузки браузера ... на ум приходит HTMLUnit (и другие).Если вы обнаружите, что Selenium - это трудная задача, или тесты хрупкие или непрочные, ищите более простые инструменты, подобные этому.

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