/
koskv
/
TeamSync-Tests
Обзор
Документация
Войти
/
koskv
/
TeamSync-Tests
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/test/java/hooks/ui/UiHooks.java
80 строк
3 KB
Koskv
Настройка запуска UI и API тестов отдельно
28 окт 2025, 23:57
28 окт 2025, 23:57
46e2d66
Код
Авторство
О чём код?
package hooks.ui; import TeamSyncTest.config.SelenideConfig; import TeamSyncTest.constants.Urls; import com.codeborne.selenide.WebDriverRunner; import io.cucumber.java.After; import io.cucumber.java.Before; import io.cucumber.java.Scenario; import io.qameta.allure.Allure; import static com.codeborne.selenide.Selenide.closeWebDriver; import static com.codeborne.selenide.Selenide.open; public class UiHooks { private long startTime; @Before(value = "@cucumber-ui", order = 1) public void setupSelenide(Scenario scenario) { // Инициализация Selenide конфигурации SelenideConfig.setup(); Allure.label("layer", "ui"); Allure.label("browser", "chrome"); Allure.label("test_type", "ui_automation"); startTime = System.currentTimeMillis(); Allure.addAttachment("Scenario Started", "Название: " + scenario.getName() + "\n" + "Теги: " + String.join(", ", scenario.getSourceTagNames())); } @Before(value = "@cucumber-ui", order = 10) public void openBrowser(Scenario scenario) { // Открытие браузера и базового URL open(Urls.BASE_URL); String browserInfo = WebDriverRunner.getWebDriver().getClass().getSimpleName(); System.out.println("Браузер инициализирован: " + browserInfo); Allure.addAttachment("Browser Session", "text/plain", "Browser: " + browserInfo + "\n" + "URL: " + Urls.BASE_URL + "\n" + "Session Started: " + java.time.LocalDateTime.now() ); } @After(value = "@cucumber-ui", order = 10) public void takeScreenshotOnFailure(Scenario scenario) { if (scenario.isFailed()) { SelenideConfig.captureScreenshot("Test Failure - " + scenario.getName()); Allure.addAttachment("Test Status", "ТЕСТ ПРОВАЛЕН: " + scenario.getName()); } else { Allure.addAttachment("Test Status", "ТЕСТ ПРОЙДЕН: " + scenario.getName()); } } @After(value = "@cucumber-ui", order = 100) public void closeBrowser(Scenario scenario) { long endTime = System.currentTimeMillis(); long duration = endTime - startTime; String performanceMetrics = String.format( "Test Duration: %d ms\nStart Time: %d\nEnd Time: %d", duration, startTime, endTime ); Allure.addAttachment("Performance Metrics", "text/plain", performanceMetrics); System.out.println("UI тест выполнен за: " + duration + " мс"); // Закрытие браузера closeWebDriver(); Allure.addAttachment("Session Closed", "text/plain", "WebDriver closed at: " + java.time.LocalDateTime.now() ); } }