Java: Selenium

Теория: Настройка окружения

В этом уроке мы подготовим окружение для автотестов на Java. Мы проверим установку JDK и Gradle, создадим Gradle‑проект и подключим зависимости Selenium и фреймворка тестирования. Это базовый шаг: без рабочей сборки и зависимостей дальнейшие примеры не запустятся.

Обычно выбирают один из двух сценариев: отдельный проект для тестов или тесты внутри репозитория приложения. Дальнейшие шаги одинаковы в обоих вариантах.

Проверяем Java

Для работы понадобится JDK (Java Development Kit). Проверка установки выполняется командами:

java -version

openjdk version "24.0.1" 2025-04-15
OpenJDK Runtime Environment (build 24.0.1+9-30)
OpenJDK 64-Bit Server VM (build 24.0.1+9-30, mixed mode, sharing)

В выводе будут указаны версии. Если команды не находятся, нужно убедиться, что переменная JAVA_HOME и путь к bin добавлены в PATH. Инструкции по установке Java доступны в руководстве для студентов.

Проверяем Gradle

Проверка Gradle выполняется в терминале:

gradle --version

Если команда не находится, Gradle устанавливается по инструкции для студентов: руководство по установке Java и Gradle.

Создаем Gradle‑проект

Для проектов с тестами удобнее использовать Gradle Wrapper — так у команды всегда одинаковая версия Gradle. Wrapper генерирует скрипты ./gradlew и gradlew.bat, и именно их мы используем для запуска сборки и тестов. Проект создается командой:

mkdir hexlet-selenium
cd hexlet-selenium
gradle init --type basic
Project name (default: hexlet-selenium):
Select build script DSL:
  1: Kotlin
  2: Groovy
Enter selection (default: Kotlin) [1..2] 1
Generate build using new APIs and behavior (some features may change in the next minor release)? (default: no) [yes, no] yes
> Task :init
Learn more about Gradle by exploring our Samples at https://docs.gradle.org/8.14.2/samples

BUILD SUCCESSFUL in 1m 24s
1 actionable task: 1 executed

Gradle создаст файлы build.gradle.kts и settings.gradle.kts. Дальше настроим зависимости и структуру каталогов.

Подключаем зависимости

Selenium и JUnit подключаются в build.gradle.kts. Пример минимальной конфигурации:

/*
 * This file was generated by the Gradle 'init' task.
 *
 * This is a general purpose Gradle build.
 * Learn more about Gradle by exploring our Samples at https://docs.gradle.org/8.14.2/samples
 * This project uses @Incubating APIs which are subject to change.
 */
plugins {
    java
}

repositories {
    mavenCentral()
}

dependencies {
    testImplementation(platform("org.junit:junit-bom:latest.release"))
    testImplementation("org.junit.jupiter:junit-jupiter")
    testImplementation("org.seleniumhq.selenium:selenium-java:latest.release")
    testRuntimeOnly("org.junit.platform:junit-platform-launcher")
}

tasks.test {
    useJUnitPlatform()
}

Selenium и JUnit можно обновлять по мере необходимости. Мы начнем с базового набора, а расширять проект будем в следующих уроках.

Если нужен TestNG, его подключают вместо JUnit и переключают тип запуска тестов:

dependencies {
    testImplementation("org.seleniumhq.selenium:selenium-java:latest.release")
    testImplementation("org.testng:testng:latest.release")
}

tasks.test {
    useTestNG()
}

Структура проекта

Для Java‑тестов стандартная структура выглядит так:

.
├── build.gradle.kts
├── gradle
│   ├── libs.versions.toml
│   └── wrapper
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── settings.gradle.kts

Для проверки обычно добавляют небольшой тест, чтобы убедиться, что Gradle и фреймворк запускаются корректно:

package tests;

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertTrue;

class SmokeTest {
    @Test
    void gradleRunsTests() {
        assertTrue(true);
    }
}

Тесты запускаются командой:

./gradlew test

Если сборка прошла успешно, Gradle создаст каталог build/ и выведет статус BUILD SUCCESSFUL. Это означает, что окружение готово для первых тестов.

Выводы

В этом уроке мы подготовили окружение для автотестов на Java, настроили Gradle‑проект и подключили зависимости. Теперь можно переходить к написанию первого теста и работе с Selenium.

Рекомендуемые программы

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845