Autotesting-Selenium-Java

Automated testing of web pages.

Stars
0
Committers
1

Автоматизированное тестирование с использованием Selenium+Java

Что такое Selenium?

Selenium — это популярный инструмент с открытым исходным кодом для автоматизации тестирования веб-приложений. Он предоставляет разнообразные возможности для управления браузерами и выполнения пользовательских сценариев тестирования.

Основные компоненты Selenium включают:

  • Selenium IDE - Интегрированная среда разработки для создания скриптов тестирования визуальным способом без необходимости программирования.

  • Selenium WebDriver - Позволяет управлять браузером и выполнить различные действия на веб-страницах, такие как: Ввод текста, нажатие кнопок, переход по ссылкам и многое другое.

  • Selenium Grid - Инструмент для распределенного тестирования, который позволяет запускать тесты параллельно на нескольких машинах и браузерах.

    Что такое Java?

Java — это объектно-ориентированный язык программирования, широко используемый для разработки различных приложений, от мобильных до серверных. Он известен своей платформенной независимостью: код можно исполнять на любой платформе, где установлен Java Runtime Environment (JRE).

Установка JDK (Java Development Kit)

JDK (Java Development Kit) - это пакет разработки Java, который включает в себя все необходимые инструменты и библиотеки для разработки, компиляции, отладки и выполнения Java-приложений.

  1. Перейдите на официальный сайт Oracle JDK и загрузите установщик JDK для Windows.

  2. Запустите скачанный установщик и следуйте инструкциям по установке, выбирая путь установки (например, Program Files/Java) и другие опции на ваш выбор.

  3. Произведем настройку системы для Windows.

  • Нажимаем win+R, вводим в окошке:
sysdm.cpl
  • В открывшихся параметрах системы выбираем Дополнительные параметры системы и нажимаем Переменные среды. Создаем системную переменную JAVA_HOME, в качестве значения указываем путь к папке где у нас находится файл java.exe.

  • Также открываем переменную Path и создаем в ней дополнительное значение %JAVA_HOME%\bin.

  1. После завершения установки JDK, вы можете проверить версию JDK и наличие Java Development Kit на вашем компьютере, запустив следующую команду в командной строке:

    java –version
    
  2. Если JDK установлен успешно, она отобразит версию вашей установленной JDK:

Установка среды IntelliJ IDEA

IntelliJ IDEA - это интегрированная среда разработки (IDE) для различных языков программирования, разработанная компанией JetBrains. IntelliJ IDEA предоставляет разработчикам мощные инструменты для создания программного обеспечения, улучшения производительности и удобства в процессе разработки.

  1. Перейдите на официальный сайт IntelliJ IDEA и загрузите установщик IDE для Windows.

  2. Запустите скачанный установочный файл.

  3. Следуйте инструкциям мастера установки, выбрав необходимые параметры (путь установки, язык интерфейса и прочее).

  4. После завершения установки запустите IntelliJ IDEA, введите или активируйте лицензионный ключ (если у вас есть), создайте или импортируйте проект и начните работу.

    Установка и настройка библиотеки Selenium Java

С помощью Maven

  1. Откройте файл pom.xml вашего проекта и добавьте зависимость Selenium Java в блок <dependencies>:

     <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>4.19.1</version> <!-- Укажите актуальную версию -->
        </dependency>
    
  2. Сохраните файл pom.xml, чтобы Maven автоматически загрузил и добавил Selenium Java в проект.

С помощью Project Structure

  1. Скачайте актуальную Selenium Java-библиотеку с официального сайта Selenium и
    распакуйте в удобную вам папку.
  2. Откройте ваш проект в IntelliJ IDEA.
  3. Нажмите на File в верхнем меню IntelliJ IDEA, затем выберите Project Structure.
  4. Открыть вкладкуModules а затем выбрать перейти в раздел Dependencies.
  5. Нажать на символ +, после чего выбрать опцию JARs or directories.
  6. Выбрать директорию, куда сохранили загруженную библиотеки Selenium и нажать OK.

Установка WebDriver (Chrome)

  1. Перейдите на официальный сайт ChromeLabs
  2. Из появившегося списка, выберите и загрузите стабильную версию драйвера (версия браузера и веб-драйвера должны
    совпадать)
  3. Чтобы узнать версию браузера, откройте новое окно в Chrome, в поисковой строке наберите:
chrome://version/

и нажмите Enter. В верхней строчке вы увидите информацию про версию браузера

  1. Разархивируйте скачанный файл. Создайте на диске C: папку webdrivers и положите разархивированный ранее файл chromedriver.exe в папку C:\webdrivers.
    Добавьте в системную переменную PATH папку C:\webdrivers

Selenium Server (Grid)

Selenium Grid — это инструмент, который запускает тесты на нескольких физических или виртуальных машинах, чтобы скрипты могли выполняться параллельно.

Selenium Grid имеет топологию «звезда», то есть в его оставе имеется выделенный сервер, который носит название «хаб» или «концентратор», а остальные сервера называются «ноды» или «узлы».

Hub — это сервер, который выступает в качестве центральной точки, где будут запускаться тесты. Selenium Grid имеет только один концентратор и запускается на одной машине один раз.

Node — это Selenium экземпляры, которые прикреплены к концентратору, и которые выполняют тесты. В сетке может быть один или несколько узлов, которые могут быть любой ОС и могут содержать любой из поддерживаемых браузеров.

Установка и простая настройка Selenium Server

  1. Скачайте актуальную версию Selenium Server
    с официального сайта Selenium.
  2. Поместите файлы selenium-server-4.19.1.jar и chromedriver.exe в одну папку на вашем компьютере.
  3. Создайте текстовый документ и откройте его для редактирования.
  4. Вставьте следующие команды в текстовый документ:

Для запуска Hub:

java -jar selenium-server-4.19.1.jar hub

Перед запуском необходимо убедится в том, что находитесь в директории с файлом selenium-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 Server запущен, вы можете настроить ваш тест для использования удаленного WebDriver. Чтобы убедиться в успешном подключении, нужно создать тест с использованием Selenium и Java в IntelliJ IDEA, выполнить следующие шаги:

  1. Внутри проекта IntelliJ IDEA создать новый Java-класс для теста.

  2. Импортировать необходимые классы Selenium в начале класса:

     java
     import org.openqa.selenium.WebDriver;
     import org.openqa.selenium.chrome.ChromeDriver;
    
  3. В методе main класса задать путь к ChromeDriver и создать новый экземпляр WebDriver:

     java
     System.setProperty("webdriver.chrome.driver", "C:\\webdrivers\\chromedriver.exe");
      WebDriver driver = new ChromeDriver();
    
  4. Указать ссылку на веб-сайт, используя объект driver:

     java
     driver.get("https://www.example.com");
    
  5. Выполнить действия на веб-странице с помощью команд Selenium, таких как поиск элементов, нажатие кнопок или ввод текста.

  6. Закрыть окно браузера по окончании теста:

      java 
      driver.quit();
    

    Следуя этим шагам, вы создали простой тестовый скрипт, используя Selenium и Java в IntelliJ IDEA. Вы можете запустить этот тест, чтобы автоматизировать действия на веб-сайте и проверить функциональность вашего веб-приложения.

    С этим знанием вы теперь можете создавать сложные сценарии тестирования, автоматизировать регулярные проверки и обеспечивать более высокое качество вашего веб-продукта. Продолжайте улучшать свои навыки автоматизации тестирования, и ваши усилия приведут к более стабильным и надежным приложениям!