Это пример проекта на Java 11 Open JDK | Selenium WebDriver | TestNG | REST Assured | Maven созданный в IntelliJ IDE, с использованием модели Page Object Model и Generic Type.
Веб-сайт https://openweathermap.org/ использовался для создания функциональных тестов, API тестов, и UI тестов.
ci.yml файл использовался для рабочего процесса GitHub.
dorny/test-reporter@v1 использовался для создания отчетов после каждого запуска CI.
Используемые pom.xml dependencies:
<dependencies>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.6.1</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.5.3</version>
</dependency>
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>5.3.0</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.14.1</version>
</dependency>
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<version>5.3.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20220924</version>
<scope>test</scope>
</dependency>
</dependencies>
Для тестирования requests и responses использовался DevTools:
DevTools devTools;
В классе CaptureNetworkTraffic был создан метод setUpDevTool(WebDriver driver) для перехвата трафика:
public CaptureNetworkTraffic setUpDevTool(WebDriver driver) {
devTools = ((ChromeDriver) driver).getDevTools();
devTools.createSession();
devTools.send(Network.enable(Optional.empty(), Optional.empty(), Optional.empty()));
return this;
}
org.openqa.selenium.devtools.v106.network.Network использовался для перехвата трафика.
Класс HttpURLConnection использовался для отправки прямых вызовов API и проверки ответов.
Библиотека REST Assured и POJO Model использовались для тестирования и проверки REST API.
1. Установите IntelliJ IDE:
https://www.jetbrains.com/help/idea/installation-guide.html
2. Скопируйте HTTPS ссылку на проект из репозитория GitHub:
https://github.com/CordedWare/OpenWeather_AutoTest_Framework.git
3. Клонируйте репозиторий из главного меню:
https://www.jetbrains.com/help/idea/cloning-repository.html#clone_project_from_main_screen
4. Перейдите к пакету "resources" package и скопируйте файл 'local.properties.TEMPLATE'. Вставьте его в пакет "resources" package и переименуйте новый файл как 'local.properties'.
5. Выполните тестовый класс или отдельный тест, открыв тестовый класс, щелкнув правой кнопкой мыши зеленый треугольник и выбрав «Run».