Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/olesya-kuzmina/autotesting-selenium-java
Automated testing of web pages.
https://github.com/olesya-kuzmina/autotesting-selenium-java
chromedriver java selenium selenium-java selenium-standalone selenium-tests selenium-webdriver webdriver
Last synced: 3 months ago
JSON representation
Automated testing of web pages.
- Host: GitHub
- URL: https://github.com/olesya-kuzmina/autotesting-selenium-java
- Owner: olesya-kuzmina
- Created: 2024-08-08T15:11:15.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-09-05T18:51:58.000Z (4 months ago)
- Last Synced: 2024-10-11T18:22:22.765Z (3 months ago)
- Topics: chromedriver, java, selenium, selenium-java, selenium-standalone, selenium-tests, selenium-webdriver, webdriver
- Language: Java
- Homepage: https://www.selenium.dev/
- Size: 18.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Автоматизированное тестирование с использованием 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](https://www.oracle.com/java/technologies/javase-jdk15-downloads.html) и
загрузите установщик JDK для Windows.2. Запустите скачанный установщик и следуйте инструкциям по установке, выбирая путь установки (например, Program Files/Java) и другие опции на ваш
выбор.3. Произведем настройку системы для Windows.
- Нажимаем `win+R`, вводим в окошке:
```
sysdm.cpl
```
- В открывшихся параметрах системы выбираем `Дополнительные параметры системы` и нажимаем `Переменные среды`.
Создаем системную переменную `JAVA_HOME`, в качестве значения указываем путь к папке где у нас находится файл java.exe.
- Также открываем переменную `Path` и создаем в ней дополнительное значение `%JAVA_HOME%\bin`.
5. После завершения установки `JDK`, вы можете проверить `версию JDK` и наличие `Java Development Kit` на вашем компьютере,
запустив следующую команду в командной строке:```
java –version
```
7. Если `JDK` установлен успешно, она отобразит версию вашей установленной `JDK`:
# Установка среды IntelliJ IDEA
**IntelliJ IDEA** - это интегрированная среда разработки (IDE) для различных языков программирования, разработанная
компанией JetBrains. IntelliJ IDEA предоставляет разработчикам мощные инструменты для создания программного обеспечения,
улучшения производительности и удобства в процессе разработки.1. Перейдите на [официальный сайт IntelliJ IDEA](https://www.jetbrains.com/idea/download/) и загрузите установщик IDE
для Windows.2. Запустите скачанный установочный файл.
3. Следуйте инструкциям мастера установки, выбрав необходимые параметры (путь установки, язык интерфейса и прочее).
4. После завершения установки запустите IntelliJ IDEA, введите или активируйте лицензионный ключ (если у вас есть),
создайте или импортируйте проект и начните работу.
## Установка и настройка библиотеки Selenium Java
#### *С помощью Maven*
1. Откройте файл `pom.xml` вашего проекта и добавьте зависимость Selenium Java в блок ``:
org.seleniumhq.selenium
selenium-java
4.19.1
2. Сохраните файл `pom.xml`, чтобы `Maven` автоматически загрузил и добавил Selenium Java в проект.
#### *С помощью Project Structure*
1. Скачайте актуальную Selenium Java-библиотеку с [официального сайта Selenium](https://www.selenium.dev/downloads/) и
распакуйте в удобную вам папку.
2. Откройте ваш проект в `IntelliJ IDEA`.
3. Нажмите на `File` в верхнем меню IntelliJ IDEA, затем выберите `Project Structure`.
4. Открыть вкладку`Modules` а затем выбрать перейти в раздел `Dependencies`.
5. Нажать на символ `+`, после чего выбрать опцию `JARs or directories`.
6. Выбрать директорию, куда сохранили загруженную библиотеки Selenium и нажать `OK`.
# Установка WebDriver (Chrome)
1. Перейдите на [официальный сайт ChromeLabs](https://googlechromelabs.github.io/chrome-for-testing/)
2. Из появившегося списка, выберите и загрузите стабильную версию драйвера (версия браузера и веб-драйвера должны
совпадать)
3. Чтобы узнать версию браузера, откройте новое окно в `Chrome`, в поисковой строке наберите:
```
chrome://version/
```
и нажмите `Enter`. В верхней строчке вы увидите информацию про версию браузера![image](https://github.com/albnsp/selenium-java-test/assets/144931244/54ef8ec0-9e33-4c8f-a3d5-46c33b1a489d)
4. Разархивируйте скачанный файл. Создайте на диске `C:` папку `webdrivers` и положите разархивированный ранее файл `chromedriver.exe` в папку `C:\webdrivers`.
Добавьте в системную переменную `PATH` папку `C:\webdrivers`![image](https://github.com/albnsp/selenium-java-test/assets/144931244/8a79ce44-08d0-462c-8e8e-fe6c1eb73a25)
# Selenium Server (Grid)
**Selenium Grid** — это инструмент, который запускает тесты на нескольких физических или виртуальных машинах,
чтобы скрипты могли выполняться параллельно.**Selenium Grid** имеет топологию «звезда», то есть в его оставе имеется выделенный сервер, который носит название «хаб» или «концентратор», а остальные сервера
называются «ноды» или «узлы».`Hub` — это сервер, который выступает в качестве центральной точки, где будут запускаться тесты. Selenium Grid имеет только один концентратор и запускается на одной
машине один раз.`Node` — это Selenium экземпляры, которые прикреплены к концентратору, и которые выполняют тесты.
В сетке может быть один или несколько узлов, которые могут быть любой ОС и могут содержать любой
из поддерживаемых браузеров.## Установка и простая настройка Selenium Server
1. Скачайте актуальную версию Selenium Server
с [официального сайта Selenium](https://www.selenium.dev/downloads/).
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.`![image](https://github.com/albnsp/selenium-java-test/assets/144931244/9539ea82-883e-41e5-af99-2fce44c9e7a3)
`Selenium Server` поддерживает одновременно два набора команд - для новой версии `(WebDriver)` и для старой версии `(Selenium RC)`.
Для запуска теста на удаленной машине нужно запустить на ней сервер, который будет принимать по сети команды, запускать браузер и выполнять их. Предполагается, что
Java на машине уже установлена. Запуск сервера выполняется следующей командой, набранной в командной строке (вызов командной строки windows ocyществляется набором команды
в поиске):
```
Java — jar selenium-server-standalone-****.jar
```
где * — версия сервера.![image](https://github.com/albnsp/selenium-java-test/assets/144931244/2a6c3f80-b4b5-46f1-b8cf-7db54a8d22fe)
В консоли должна появится информация об
успешном старте hub-a.
```11:54:52.596 INFO - Nodes should register to
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. Вы можете запустить этот тест, чтобы автоматизировать действия на веб-сайте и проверить функциональность вашего веб-приложения.С этим знанием вы теперь можете создавать сложные сценарии тестирования, автоматизировать регулярные проверки и обеспечивать более высокое качество вашего веб-продукта. Продолжайте улучшать свои навыки автоматизации тестирования, и ваши усилия приведут к более стабильным и надежным приложениям!