kk
Default banner
Разное
426 450 постов45 подписчиков
Всяко-разно
0

Тестирование ПО. Автоматизация тестирования с применением Selenium.

Selenium. Автоматизация тестирования веб-приложений - это просто.

 

Selenium – вещь абсолютно полезная, и даже необходима всем тем, кто занимается веб-разработкой. Что же это такое? Selenium -  это инструмент, с помощью которого можно автоматизировать тестирование веб-приложений. Зачем нужно тестирование объяснять не надо, а вот зачем может понадобится автоматизация этого процесса?

В автоматизации много плюсов и минусов, давайте коротко их осмотрим. Из плюсов – все тесты прогоняются машиной, исключен человеческий фактор. Далее – экономия времени на тестировании, то что раньше делали двое в течении дня теперь делается автоматически ночью. Есть минусы – много времени необходимо потратить на автоматизацию, и постоянно сопровождать все тест-кейсы. Если требования к продукты не меняются кардинально от сборки к сборке, то это не так критично. И опять же – человеческий фактор, машина все делает согласно алгоритму и может многое не заметить. Решать, нужна автоматизация или нет, нужно очень тщательно, чтобы труд не оказался пустым.

Что позволяет автоматизировать Selenium? Почти все, что угодно – переходы по ссылкам, заполнения форм, проверки наличия элементов, все, что может сделать пользователь на вашем сайте.

Selenium – бесплатный инструмент, чтобы начать с ним работать его достаточно просто скачать с сайта, никаких регистраций, и приступать к работе. Мы рассмотрим следующую связку Selenium + Eclipse, писать, соответственно, будем на Java. Можно также выбрать С#, PHP, Perl, Python, Ruby – к чему душа лежит, принципиальных отличий нет.

Для начала работы нам понадобится Selenium IDE – плагин для FireFox, установленный FireFox, Selenium RC – собственно само ядро. Ну и, как уже говоили, Eclipse.

Отсюда можно скачать Selenium, остальное найти труда не составит.

http://release.seleniumhq.org/selenium-ide/1.0.12/selenium-ide-1.0.12.xpi

http://selenium.googlecode.com/files/selenium-remote-control-1.0.3.zip

Для начала установим плагин в FF и запустим его. Вот что мы увидим на экране

Плагин представляет собой рекордер, и он поможет нам написать первые тесты не заморачиваясь. Раз уж мы на yvision, давайте сделаем тест, связанный с ним. Мы залогинимся и проверим, отображается ли наш логин на странице, в шагах это можно описать следующим образом:

  1. Открыть главную страницу yvi.kz
  2. По ссылке «Войти» перейти к странице входа
  3. Ввести логин и пароль, нажать на «Войти»
  4. Проверить, отобразился ли введенный логин на странице

Сразу после запуска рекордер по умолчанию запущен (красная кнопка в правом верхнем углу – начало записи), поэтому переходим в FF и руками выполняем все описанные действия. После входа на yvi правой кнопкой щелкнем на логине и в контекстном меню выберем команду assertTextPresent . После этого переключимся к Selenium IDE и увидим следующее:

Рекордер записал все наши действия, выполните логаут из yvi, и нажмите «Play». Мы увидим, как Selenium лихо логинится на yvi.

Давайте разберемся какие команды выполняются.

Open – открытие адреса, указанного в Target

ClickAndWait – клик по ссылке, следующий шаг выполняется, когда запрашиваемая страница полностью загрузится.

Type – в элемент Target печатается значение, указанное в Value

assertTextPresent – проверяет есть ли текст, представленный в Target

Как осуществляется поиск элементов на странице? Способов множество – самый простой по id, если id изменяется, то можно использовать xpath, зависит все от конкретной ситуации.

Таким образом мы записали наш тест, теперь настроим Eclipse. Распакуем архив с Selenium, нас пока интересует папка selenium-java-client-driver-1.0.1. Открываем Eclipse, создаем новый проект, откроем свойства проекта:

По кнопке «Add external JARs» добавим файл selenium-java-client-driver.jar из папки selenium-java-client-driver-1.0.1. Нажмем «Add Library» и добавим JUnit, выберем версию 3. Это необходимо, чтобы в дальнейшем можно было безболезненно перейти на другой фреймворк, например TestNG. Все, теперь наш проект готов принять в себя исходный код нашего теста.

В Selenium IDE  в меню «Options-Format» , выберем JUnit 3, скопируем код в Eclipse (предварительно создав новый класс) должно получится вот так:

Опять вернемся к Selenium RC. В папке selenium-server-1.0.3 создадим bat-файл, который будет запускать сервер Selenium:

start java -jar selenium-server.jar

Запускаем bat-файл, в сохраненном проекте в Eclipse щелкаем правой клавишей на названии проекта – «Run as – JUnit». Теперь запуск теста происходит из Eclipse, это позволяет нам использовать в создании тестов возможности языка Java.

Таким образом, мы в самом первом приближении познакомились с возможностями Selenium, записали и запустили наш первый тест с помощью Eclipse.