From 242cdd5ebcd2059619a86f217057f7882ccddd50 Mon Sep 17 00:00:00 2001 From: Roman Burlaka Date: Wed, 11 Dec 2024 15:10:39 +0100 Subject: [PATCH] add Readme --- README.md | 4 +++- pom.xml | 9 ++------- .../java/school/redrover/runner/BaseTest.java | 4 ++-- .../redrover/runner/CucumberDriver.java | 6 +++--- .../school/redrover/runner/ProjectUtils.java | 20 ++++++++++--------- 5 files changed, 21 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 9bf758c3..e8cbb3d9 100644 --- a/README.md +++ b/README.md @@ -1 +1,3 @@ -# JenkinsQA - testing local Jenkins +# JenkinsQA - framework for testing local Jenkins +## Java, TestNg additional Cucumber + diff --git a/pom.xml b/pom.xml index 3b06f6f3..87c8e8f3 100644 --- a/pom.xml +++ b/pom.xml @@ -20,17 +20,12 @@ org.testng testng - 7.8.0 + 7.9.0 org.seleniumhq.selenium selenium-java - 4.14.1 - - - io.github.bonigarcia - webdrivermanager - 5.5.3 + 4.20.0 diff --git a/src/test/java/school/redrover/runner/BaseTest.java b/src/test/java/school/redrover/runner/BaseTest.java index a7483b87..95659c97 100644 --- a/src/test/java/school/redrover/runner/BaseTest.java +++ b/src/test/java/school/redrover/runner/BaseTest.java @@ -102,8 +102,8 @@ protected void beforeMethod(Method method) { @AfterMethod protected void afterMethod(Method method, ITestResult testResult) { - if (ProjectUtils.isServerRun() && !testResult.isSuccess()) { - ProjectUtils.takeScreenshot(driver, method.getName(), this.getClass().getName()); + if (!testResult.isSuccess() && ProjectUtils.isServerRun()) { + ProjectUtils.takeScreenshot(getDriver(), testResult); } if (methodsOrder.isGroupFinished(method) && !(!ProjectUtils.isServerRun() && !testResult.isSuccess() && !ProjectUtils.closeBrowserIfError())) { diff --git a/src/test/java/school/redrover/runner/CucumberDriver.java b/src/test/java/school/redrover/runner/CucumberDriver.java index f59a3d99..f41c16cf 100644 --- a/src/test/java/school/redrover/runner/CucumberDriver.java +++ b/src/test/java/school/redrover/runner/CucumberDriver.java @@ -29,9 +29,9 @@ public static void before(Scenario scenario) { @After public static void after(Scenario scenario) { - if(scenario.isFailed() && ProjectUtils.isServerRun()) { - ProjectUtils.takeScreenshot(driver, scenario.getName(), "CucumberTest"); - } +// if(scenario.isFailed() && ProjectUtils.isServerRun()) { +// ProjectUtils.takeScreenshot(driver, scenario.getName(), "CucumberTest"); +// } JenkinsUtils.logout(driver); driver.quit(); diff --git a/src/test/java/school/redrover/runner/ProjectUtils.java b/src/test/java/school/redrover/runner/ProjectUtils.java index fb2f8461..6dfc72b1 100644 --- a/src/test/java/school/redrover/runner/ProjectUtils.java +++ b/src/test/java/school/redrover/runner/ProjectUtils.java @@ -1,18 +1,20 @@ package school.redrover.runner; -import io.github.bonigarcia.wdm.WebDriverManager; -import org.apache.commons.io.FileUtils; import org.openqa.selenium.Alert; import org.openqa.selenium.OutputType; import org.openqa.selenium.TakesScreenshot; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.io.FileHandler; import org.openqa.selenium.support.ui.ExpectedConditions; +import org.testng.ITestResult; import java.io.File; import java.io.IOException; import java.io.InputStream; +import java.nio.file.Files; +import java.nio.file.Paths; import java.time.Duration; import java.util.Properties; @@ -74,7 +76,7 @@ private static void initProperties() { } } - WebDriverManager.chromedriver().setup(); +// WebDriverManager.chromedriver().setup(); } static boolean isServerRun() { @@ -125,14 +127,14 @@ public static void logf(String str, Object... arr) { System.out.printf(str, arr); System.out.println(); } - - static File takeScreenshot(WebDriver driver, String methodName, String className) { - File file = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); + static void takeScreenshot(WebDriver driver, ITestResult testResult) { + File screenshot = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE); try { - FileUtils.copyFile(file, new File(String.format("screenshots/%s.%s.png", className, methodName))); + Files.createDirectories(Paths.get("screenshots")); + FileHandler.copy(screenshot, new File("screenshots/" + testResult.getInstanceName() + "." + testResult.getName() + ".png")); } catch (IOException e) { - e.printStackTrace(); + throw new RuntimeException(e); } - return file; } + } \ No newline at end of file