Selenium это бесплатная среда и набор программ с открытым исходным кодом,которые применяют для тестирования веб-приложений , в различных браузерах и на разных платформах. Для создания тестовых сценариев Selenium мы можем использовать разные языки программирования, такие как Java,C#, Python, Ruby , PHP и т.д.
Основными компонентами(инструментами) проекта являются:
-
Selenium IDE - Интегрированная среда разработки для создания скриптов тестирования визуальным способом без необходимости программирования.
-
Selenium WebDriver - Позволяет управлять браузером и выполнить различные действия на веб-страницах, такие как: Ввод текста, нажатие кнопок, переход по ссылкам и многое другое.
-
Selenium Grid - Инструмент для распределенного тестирования, который позволяет запускать тесты параллельно на нескольких машинах и браузерах.
** Установка Selenium ** Для установки и настройки Selenium WebDriver на локальной машине понадобятся:
- Java(JDK);
- Selenium server;
- ChromeDriver (для тестирования в Google Chrome).
JDK
— это полнофункциональный комплект разработки программного обеспечения для Java
, включающая JRE
(Java Runtime Environment
это набор инструментов для запуска программы,то есть для работы и исполнения кода. JRE — составная часть JDK и входит в пакет по умолчанию),
компиляторы и инструменты(такие как JavaDoc
и Java Debugger
), существующая для создания и «сборки» программы,то есть перевод ее в исполняемые коды.
Для простого запуска Java
программу в браузере или компьютере, то будет достаточно установленного JRE
.
Для программирования на Java понадобится пакет
- Загрузить
Java Platform JDK
из официального сайта
http://www.oracle.com/technetwork/java/javase/downloads/index.html
- Установить
java
с настройками по умолчанию - Установить переменную
“Java home”
3.1. Если машина Windows
нажать Win+R
и набрать sysdm.cpl
перейти во вкладку дополнительно/переменные среды.
Создать переменную: JAVA_HOME
.
Значение переменной: <путь куда установлена java>
например
(C:\Program Files\Java\jdk1.8.0_65).
3.2. Также нужно добавить значение: <путь куда установлена java>\bin.
в переменную PATH
: Нажать Edit
и добавить:
C:\Program Files\Java\jdk1.8.0_65\bin.
После установки переменной следует перезапустить cmd
консоль. Проверка java
в cmd: java –version
.
Если версию java
в консоли, значит java
установлена успешно
IntelliJ IDEA - это интегрированная среда разработки (IDE) для различных языков программирования, разработанная компанией JetBrains. IntelliJ IDEA предоставляет разработчикам мощные инструменты для создания программного обеспечения, улучшения производительности и удобства в процессе разработки.
-
Перейти на официальный сайт IntelliJ IDEA и загрузить установщик IDE для Windows.
-
Запустить скачанный установочный файл.
-
Следовать инструкциям мастера установки, выбрав необходимые параметры (путь установки, язык интерфейса и прочее).
-
После завершения установки запустить IntelliJ IDEA, ввести или активировать лицензионный ключ (если у вас есть), создать или импортировать проект и начать работу.
Пример установки драйвера для браузера
Chrome
. Для установки открыть сайт
https://sites.google.com/a/chromium.org/chromedriver/ downloads
и скачать ту версию ChromeDriver
, которая соответствует версии браузера
Чтобы узнать версию браузера нужно открыть новое окно
в Chrome
, в поисковой строке набрать:
chrome://version/
и нажать Enter
. В верхней строчке будет информация про версию браузера
Разархивировать скачанный файл. Создать на диске
C:
папку webdrivers
и положить разархивированный ранее файл chromedriver.exe
в папку C:\webdrivers
.
Добавить в системную переменную PATH
папку
C:\webdrivers
Запуск сервера осуществляется одним из выбранных в командной строке дважды(вызов is
осуществляется путем ввода команды в поиске):windows
command line
cmd
cd ..
Selenium Grid
— это инструмент, который запускает
тесты на нескольких физических или виртуальных машинах, чтобы скрипты могли выполняться параллельно. Selenium Grid — это кластер, состоящий из
нескольких Selenium-серверов. Он предназначен для организации распределённой сети, позволяющей параллельно запускать несколько браузеров на большом количестве машин.
Selenium Grid
имеет топологию «звезда», то есть в его
составе имеется выделенный сервер, который носит название «хаб» или «концентратор», а остальные сервера
называются «ноды» или «узлы».
■ Hub
— это сервер, который выступает в качестве центральной точки, где будут запускаться тесты. Selenium Grid имеет только один концентратор и запускается на одной
машине один раз.
■ Node
— это Selenium экземпляры, которые прикреплены к концентратору, и которые выполняют тесты.
В сетке может быть один или несколько узлов, которые могут быть любой ОС и могут содержать любой
из поддерживаемых браузеров.
Сначала нужно запустить центральный сервер (hub)
. Это делается с помощью следующей команды:
java -jar selenium-server-standalone.jar -role hub
Перед запуском необходимо убедится в том,что находитесь в директории с файлом
sselenium-server-standalone.jar.
Selenium Server
поддерживает одновременно два набора команд - для новой версии (WebDriver)
и для старой версии (Selenium RC)
.
Для запуска теста на удаленной машине нужно запустить на ней сервер, который будет принимать по сети команды, запускать браузер и выполнять их. Предполагается, что
Java на машине уже установлена. Запуск сервера выполняется следующей командой, набранной в командной строке (вызов командной строки windows ocyществляется набором команды
в поиске):
Java — jar selenium-server-standalone-****.jar
где * — версия сервера.
В консоли должна появится информация об успешном старте hub-a.
http://192.168.99.1:4444/grid/register/
11:54:52.596 INFO - Selenium Grid hub is up and running
Первая строчка означает, что теперь можно регистрировать узлы по адресу, где запущен hub
. Вторая
строчка означает, что hub
успешно запущен.
После запуска команды можно перейти на панель администрирования хаба по адресу:
http://localhost:4444/grid/
Чтобы убедиться в успешном подключении,нужно создать простой тест с использованием Selenium и Java в IntelliJ IDEA, выполнить следующие шаги:
-
Внутри проекта IntelliJ IDEA создать новый Java-класс для теста.
-
Импортировать необходимые классы Selenium в начале класса:
java import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver;
-
В методе
main
класса задать путь кChromeDriver
и создать новый экземплярWebDriver
:java System.setProperty("webdriver.chrome.driver", "C:\\webdrivers\\chromedriver.exe"); WebDriver driver = new ChromeDriver();
-
Указать ссылку на веб-сайт, используя объект driver:
java driver.get("https://www.example.com");
-
Выполнить действия на веб-странице с помощью команд Selenium, таких как поиск элементов, нажатие кнопок или ввод текста.
-
Закрыть окно браузера по окончании теста:
java driver.quit();