Selenium IDE — автоматическое тестирование сайта
8 февраля 2006
Сегодня наткнулся на Selenium IDE, это плагин в Firefox, который позволяет атоматизировать тестирование работы сайта.
Т.к. плагин работает в браузере (похоже также будет работать и в Internet Explorer), то возможно полноценное тестирование, с учетом работы DHTML/AJAX.
Процесс настройки теста довольно таки прост:
- Пишем в поле Base URL адрес откуда будем тестить.
- В списке команд, в меню по правой кнопки мыши, выбираем Set / Clear Start Point
- Переходим в браузер и делаем нужные нам действия, например заполняем форму логина и щелкаем «Вход»
- В Selenium IDE нажимаем красную пимпу, типа «все, хватит»
Вот у нас и готов тест входа на сайт. Можно нажимать кнопку старта для автоматического прохождения теста.
По коду получилось чтото вроде:
open "/user/login.html"
assertTitle "Войти"
type "j_username", "some@where.com"
type "j_password", "pass"
clickAndWait "//input[@value='Вход']"
assertTitle "Информация пользователя"
Код этот можно редактировать как вручную, так и мышой. Вариантов команд там порядочно, куча различных действий, assert'ов, поиска по XPath и пр., этого наверное хватит для основных тестов.
В идеале чтобы все это потом из Ant'а запускать и писать отчет в общий XML юнит-тестов, но, похоже, это пока неосуществимо. Хотя можно пользовать Jakarta Cactus для автоматического тестирования контроллеров из Ant'а, и переодически самому запускать тест взаимодействия с пользователем через Selenium.
Надо попробовать на текущем проекте, уж явно будет лучше чем самому постоянно баловатся приложением.

июня 9, 2006 в 06:45
А как насчет Mercury QuickTest Professional v8.2?
Он ведь все это умеет делать и даже помощнее будет.
июня 9, 2006 в 07:39
Посмотрел. Да наверное умеет, да помощнее, но процесс очень сильно усложняется и требует гораздо больших затрат на редких специалистов, на покупку этого инструмента, на настройку и пр. С Selenium разберется и ребенок, работает сразу из коробки.
Я в свое время имел опыт работы с линейкой Rational, так вот она нужна была лишь для того, что бы показать что мы CMM5, что денег нам платить надо больше, что людей в проекте куча и все хорошие специалисты. А на саммом деле никому не доставляло удовольствия работать такими «инструментами».
февраля 12, 2007 в 11:43
Я пробовала работать с QTP, Rational Robot, Selenium. На мой взгляд как раз с QTP может разобраться даже ребёнок. Selenium будет менее понятным. Например, я так и не поняла, как подлезть к базе данных из Selenium? В QTP это делается довольно легко
февраля 12, 2007 в 12:44
эм... а можно вопрос: а как это «к базе» и «из селениум»? это же совсем разные вещи?
марта 1, 2007 в 13:03
Например написать SQL запрос. В QTP для этих целей есть tools
марта 3, 2007 в 10:47
Я все равно не понимаю, как это связано с селениумом? он отправляет запросы к браузеру. А для sql есть тот код из которого вызывается selenium.
Т.е. раз вы пишете юниттест, то зачем вам может понадобится доступ к базе именно из браузера, если у вас и так есть язык программирования, умеющий помимо прочего и обращаться к БД?
марта 4, 2007 в 13:49
Я понял причину того почему мы друг друга понять не могли
Это потому что я тут писал про Selenium IDE, встроенной в браузер, а при ответе думал уже про нормальное юнит-тестирование из java с помощью selenium.
Тогда да, в первом случае конечно нет доступа к базе и пр., но и рассчитана эта штука как я понял для баловства и первичного скелетирования теста. А вот во втором случае, при использовании запросов через seelenium server, можно конечно же выполнять все что умеет java код.