Тестирование пользовательского интерфейса веб-приложений? - PullRequest
3 голосов
/ 24 февраля 2012

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

Из того, что я прочитал это далеко. Selenium, PhantomJS & Zombie , кажется, делает то, что я хочу, но я очень мало знаю о них.

Но какие еще есть альтернативы и что следует рассмотреть, прежде чем проводить этот тип модульного тестирования?

Ответы [ 3 ]

3 голосов
/ 27 февраля 2014

Призрак и Зомби по сути одно и то же. Оба являются безголовыми браузерами. Безголовый означает, что он ведет себя как простой браузер (открывает страницу, запускает сценарии, отображает содержимое, обрабатывает файлы cookie и т. Д.), Но вывод не отображается для пользователя.

Вы определяете тестовый пример, используя JavaScript

  1. Открыть страницу www.example.com
  2. Вставить текст "Bob" в текстовое поле "UserName"
  3. Нажмите на кнопку «Доброе утро»
  4. Проверьте (подтвердите), что поле "output" содержит "Доброе утро, Боб"

Селен представляет собой набор инструментов:

  • Selenium IDE - надстройка Firefox, которая может записывать и воспроизводить действия, выполненные вами. Это означает, что для создания и запуска контрольных примеров не требуется знание языка сценариев!
  • Selenium WebDriver - библиотека, которая может «управлять» некоторыми поддерживаемыми браузерами. Он фактически открывает выбранный браузер (скажем, Firefox) и выполняет действия, описанные в коде тестового примера. (Обратите внимание, что безголовый браузер Phantom является одним из браузеров, которыми может управлять WebDriver).
  • Некоторым больше нравится Grid для нагрузочного тестирования, но об этом мало что известно

Подводя итог

  • Если вы хотите протестировать только интерфейс и имеете опыт работы с JavaScript - возьмите Phantom или Zombie
  • Если вы не хотите использовать JavaScript, выберите Selenium IDE
  • Если вы хотите создавать более сложные тесты (например, поместить некоторый контент в базу данных, а затем выполнить некоторые операции в браузере) - используйте Selenium WebDriver
0 голосов
/ 14 декабря 2012

С Selenium вам будет лучше, поскольку он обладает мощью мощных языков

0 голосов
/ 05 марта 2012

В итоге я использовал zombie.js, что было довольно неплохо, так как у нас уже были знания о JavaScript.

...