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

Андрей 2011 M07 2
4548
5
1
0

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.

 

Оцените пост

1

Комментарии

0
Как раз ищу что-то подобное. Мне необходима консольная софтина под линь, которая может эмулировать браузер ( в том числе - производить отправку файлов ). Не подскажите?
0
Впринципе Selenium вещь кроссплатформенная, написана на Java, так что скорее всего Вам она подойдет. Про отправку файлов можно почитать здесь www.autotestgroup.com Про эмуляцию браузера - Selenium точно сможет работать с FF. Вот с таким параметром будет запускаться FF - setUp("c:\\index.htm", "*firefox");
0
Судя по вашим скринам она не консольная )
0
на скринах изображен рекордер, это плагин для FF, предназначен для записи кейсов, кончено, можно организовать на нем прогон тестов, но не очень удобно. Сервер Selenium запускается bat-файлом, и ждет когда на порт, который он слушает, придет команда. Выглядит примерно так (на Винде), можно впринципе консоль не открывать, процес тогда просто будет в памяти висеть:
an4ny044hOb6bNZ5hY78sBz21rA7J1.png
0
thx, попробую сию софтину )
Показать комментарии
Дальше