From 605c9248e5d1c53910745e111c159952df9dc103 Mon Sep 17 00:00:00 2001 From: Adam Kaczmarek Date: Sun, 12 Mar 2023 15:55:22 +0100 Subject: [PATCH 01/10] Add argument for driver - allow remote --- src/main/java/utils/WebDriverUtils.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/utils/WebDriverUtils.java b/src/main/java/utils/WebDriverUtils.java index 8ac0c42..57309fe 100644 --- a/src/main/java/utils/WebDriverUtils.java +++ b/src/main/java/utils/WebDriverUtils.java @@ -40,6 +40,7 @@ private static void initDriver(BrowserType type) { private static void setChromeDriver() { ChromeOptions options = new ChromeOptions(); options.addArguments(OPTIONS_ARGUMENTS); + options.addArguments("--remote-allow-origins=*"); driver = new ChromeDriver(options); } From aeb3d8d90097a46205f79084144cb0a46d2cb84f Mon Sep 17 00:00:00 2001 From: Adam Kaczmarek Date: Sun, 12 Mar 2023 18:06:12 +0100 Subject: [PATCH 02/10] Logs pattern test --- src/main/java/elements/webElementsExtensions/PageElement.java | 2 +- src/main/resources/log4j2.xml | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/elements/webElementsExtensions/PageElement.java b/src/main/java/elements/webElementsExtensions/PageElement.java index e0ff45b..6c29c51 100644 --- a/src/main/java/elements/webElementsExtensions/PageElement.java +++ b/src/main/java/elements/webElementsExtensions/PageElement.java @@ -45,7 +45,7 @@ public void submit() { @Override public void sendKeys(CharSequence... charSequences) { - logger.debug("Sending [{}] to [{}] field.", Arrays.toString(charSequences), elementName); + logger.debug("Sending {} to [{}] field.", Arrays.toString(charSequences), elementName); wrappedElement.sendKeys(charSequences); } diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml index 25e64d8..130cdd4 100644 --- a/src/main/resources/log4j2.xml +++ b/src/main/resources/log4j2.xml @@ -2,7 +2,8 @@ - + + true From ad973ba406f439cffd5e7d351d8bb9f1d780fc8e Mon Sep 17 00:00:00 2001 From: Adam Kaczmarek Date: Sun, 12 Mar 2023 18:13:25 +0100 Subject: [PATCH 03/10] Logs pattern test --- src/main/resources/log4j2.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml index 130cdd4..8eab11e 100644 --- a/src/main/resources/log4j2.xml +++ b/src/main/resources/log4j2.xml @@ -3,7 +3,7 @@ - + true From e8ad39a7a3e7160dc8f6d1c37b9bb8d2498a8a64 Mon Sep 17 00:00:00 2001 From: Adam Kaczmarek Date: Sun, 12 Mar 2023 18:17:05 +0100 Subject: [PATCH 04/10] Logs pattern test --- src/main/resources/log4j2.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml index 8eab11e..25e64d8 100644 --- a/src/main/resources/log4j2.xml +++ b/src/main/resources/log4j2.xml @@ -2,8 +2,7 @@ - - + true From 126553b0e62ac812d97fca1a1cba343b9ab53452 Mon Sep 17 00:00:00 2001 From: Adam Kaczmarek Date: Sun, 12 Mar 2023 18:54:47 +0100 Subject: [PATCH 05/10] WebDriverUtils optionas arguments update --- src/main/java/utils/WebDriverUtils.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/utils/WebDriverUtils.java b/src/main/java/utils/WebDriverUtils.java index 57309fe..46b0c60 100644 --- a/src/main/java/utils/WebDriverUtils.java +++ b/src/main/java/utils/WebDriverUtils.java @@ -12,7 +12,7 @@ public class WebDriverUtils { private static WebDriver driver; private static BrowserType browserType = BrowserType.CHROME; - private static final String[] OPTIONS_ARGUMENTS = new String[]{"disable-popup-blocking"}; + private static final String[] OPTIONS_ARGUMENTS = new String[]{"disable-popup-blocking", "--remote-allow-origins=*"}; /** * If setBrowserType method was not called then Chrome browser will be initialized. @@ -40,7 +40,6 @@ private static void initDriver(BrowserType type) { private static void setChromeDriver() { ChromeOptions options = new ChromeOptions(); options.addArguments(OPTIONS_ARGUMENTS); - options.addArguments("--remote-allow-origins=*"); driver = new ChromeDriver(options); } From 237c5f71c612bc3de1f530f2d34423efb3e95118 Mon Sep 17 00:00:00 2001 From: Adam Kaczmarek Date: Sun, 12 Mar 2023 21:09:01 +0100 Subject: [PATCH 06/10] Add DisplayName and Description annotation to tests --- src/test/java/tests/LoginPageTests.java | 7 +++++++ src/test/java/tests/ProductPageTests.java | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/src/test/java/tests/LoginPageTests.java b/src/test/java/tests/LoginPageTests.java index 0e2c592..36d36e1 100644 --- a/src/test/java/tests/LoginPageTests.java +++ b/src/test/java/tests/LoginPageTests.java @@ -1,9 +1,12 @@ package tests; +import io.qameta.allure.Description; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import pages.LogInPage; +@DisplayName("Login page Tests") public class LoginPageTests extends _TestsHooks { @BeforeEach @@ -12,6 +15,8 @@ public void beforeTest() { } @Test + @DisplayName("Correct data login") + @Description("Log in with correct user") public void correctDataLoginTest() { LogInPage logInPage = new LogInPage(); logInPage @@ -22,6 +27,7 @@ public void correctDataLoginTest() { } @Test + @Description("Try to log in with incorrect user") public void incorrectDataLoginTest() { LogInPage logInPage = new LogInPage(); logInPage @@ -32,6 +38,7 @@ public void incorrectDataLoginTest() { } @Test + @Description("Try to log in with locked user") public void lockedUserLoginTest() { LogInPage logInPage = new LogInPage(); logInPage diff --git a/src/test/java/tests/ProductPageTests.java b/src/test/java/tests/ProductPageTests.java index e36c970..b7d163d 100644 --- a/src/test/java/tests/ProductPageTests.java +++ b/src/test/java/tests/ProductPageTests.java @@ -1,10 +1,13 @@ package tests; +import io.qameta.allure.Description; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.openqa.selenium.Cookie; import pages.ProductsPage; +@DisplayName("Products page Tests") public class ProductPageTests extends _TestsHooks { @BeforeEach @@ -16,6 +19,7 @@ public void beforeTest() { } @Test + @Description("Print out products") public void printOutProductsTest() { ProductsPage productsPage = new ProductsPage(); productsPage From 4c909659a582407495051a214b6d623e36123639 Mon Sep 17 00:00:00 2001 From: Adam Kaczmarek Date: Mon, 13 Mar 2023 21:08:42 +0100 Subject: [PATCH 07/10] Add severity annotation and disabled one test --- src/test/java/tests/LoginPageTests.java | 7 +++++++ src/test/java/tests/ProductPageTests.java | 3 +++ 2 files changed, 10 insertions(+) diff --git a/src/test/java/tests/LoginPageTests.java b/src/test/java/tests/LoginPageTests.java index 36d36e1..5bc9e7e 100644 --- a/src/test/java/tests/LoginPageTests.java +++ b/src/test/java/tests/LoginPageTests.java @@ -1,7 +1,10 @@ package tests; import io.qameta.allure.Description; +import io.qameta.allure.Severity; +import io.qameta.allure.SeverityLevel; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import pages.LogInPage; @@ -17,6 +20,7 @@ public void beforeTest() { @Test @DisplayName("Correct data login") @Description("Log in with correct user") + @Severity(SeverityLevel.BLOCKER) public void correctDataLoginTest() { LogInPage logInPage = new LogInPage(); logInPage @@ -28,6 +32,8 @@ public void correctDataLoginTest() { @Test @Description("Try to log in with incorrect user") + @Severity(SeverityLevel.NORMAL) + @Disabled public void incorrectDataLoginTest() { LogInPage logInPage = new LogInPage(); logInPage @@ -39,6 +45,7 @@ public void incorrectDataLoginTest() { @Test @Description("Try to log in with locked user") + @Severity(SeverityLevel.NORMAL) public void lockedUserLoginTest() { LogInPage logInPage = new LogInPage(); logInPage diff --git a/src/test/java/tests/ProductPageTests.java b/src/test/java/tests/ProductPageTests.java index b7d163d..555f4d2 100644 --- a/src/test/java/tests/ProductPageTests.java +++ b/src/test/java/tests/ProductPageTests.java @@ -1,6 +1,8 @@ package tests; import io.qameta.allure.Description; +import io.qameta.allure.Severity; +import io.qameta.allure.SeverityLevel; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -19,6 +21,7 @@ public void beforeTest() { } @Test + @Severity(SeverityLevel.CRITICAL) @Description("Print out products") public void printOutProductsTest() { ProductsPage productsPage = new ProductsPage(); From e7d06ef905746f75d3cbafb65b94f7c67d6b9fa0 Mon Sep 17 00:00:00 2001 From: Adam Kaczmarek Date: Mon, 13 Mar 2023 21:36:03 +0100 Subject: [PATCH 08/10] Update one test for product page --- src/test/java/pages/ProductsPage.java | 7 +++++++ src/test/java/tests/ProductPageTests.java | 8 +++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/test/java/pages/ProductsPage.java b/src/test/java/pages/ProductsPage.java index 82e7e7f..71a1703 100644 --- a/src/test/java/pages/ProductsPage.java +++ b/src/test/java/pages/ProductsPage.java @@ -8,6 +8,7 @@ import java.util.List; import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; +import static org.junit.jupiter.api.Assertions.assertEquals; import static utils.WaitUtils.waitForElementToBeVisible; public class ProductsPage extends _PageInit { @@ -36,4 +37,10 @@ public ProductsPage printOutProducts() { } return this; } + + public void assertNumberOfProducts(int expectedNumberOfProducts) { + int actualNumberOfProducts = productPageItemsList.size(); + assertEquals(expectedNumberOfProducts, actualNumberOfProducts, "Actual number of products: " + + actualNumberOfProducts + " is not equal to expected: " + expectedNumberOfProducts); + } } diff --git a/src/test/java/tests/ProductPageTests.java b/src/test/java/tests/ProductPageTests.java index 555f4d2..40949bd 100644 --- a/src/test/java/tests/ProductPageTests.java +++ b/src/test/java/tests/ProductPageTests.java @@ -22,10 +22,12 @@ public void beforeTest() { @Test @Severity(SeverityLevel.CRITICAL) - @Description("Print out products") - public void printOutProductsTest() { + @DisplayName("Products page products number tests") + @Description("Print out products and confirm number of products ") + public void printOutAndCountProductsTest() { ProductsPage productsPage = new ProductsPage(); productsPage - .printOutProducts(); + .printOutProducts() + .assertNumberOfProducts(6); } } From 97b17766e150c9f4b0979dd47ee92fbd2913fed5 Mon Sep 17 00:00:00 2001 From: Adam Kaczmarek Date: Mon, 20 Mar 2023 20:33:34 +0100 Subject: [PATCH 09/10] Add utils class and methods for screenshots making after failed scenario --- .gitignore | 1 + src/main/java/utils/PropertiesReader.java | 4 +++ src/main/java/utils/Utils.java | 31 +++++++++++++++++++++++ src/test/java/helpers/TestStatus.java | 13 ++++++++++ src/test/java/pages/LogInPage.java | 3 +-- src/test/java/pages/ProductsPage.java | 3 +-- src/test/java/tests/LoginPageTests.java | 4 +-- src/test/java/tests/_TestsHooks.java | 18 ++++++++++++- 8 files changed, 69 insertions(+), 8 deletions(-) create mode 100644 src/main/java/utils/PropertiesReader.java create mode 100644 src/main/java/utils/Utils.java create mode 100644 src/test/java/helpers/TestStatus.java diff --git a/.gitignore b/.gitignore index 7f1bf5b..dc52fbb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .idea /target +/screenshots *.iml \ No newline at end of file diff --git a/src/main/java/utils/PropertiesReader.java b/src/main/java/utils/PropertiesReader.java new file mode 100644 index 0000000..c57cbc5 --- /dev/null +++ b/src/main/java/utils/PropertiesReader.java @@ -0,0 +1,4 @@ +package utils; + +public class PropertiesReader { +} diff --git a/src/main/java/utils/Utils.java b/src/main/java/utils/Utils.java new file mode 100644 index 0000000..00f3cac --- /dev/null +++ b/src/main/java/utils/Utils.java @@ -0,0 +1,31 @@ +package utils; + +import org.openqa.selenium.OutputType; +import org.openqa.selenium.TakesScreenshot; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.io.FileHandler; + +import java.io.File; +import java.io.IOException; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +public class Utils { + + public static String takeScreenshot(String name, WebDriver driver) { + File screenshot = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE); + + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy HH.mm.ss"); + File screenshotsDirectory = new File("screenshots/"); + if (!screenshotsDirectory.exists()){ + screenshotsDirectory.mkdirs(); + } + String path = "screenshots/" + name + "_" + formatter.format(LocalDateTime.now()) + ".png"; + try { + FileHandler.copy(screenshot, new File(path)); + } catch (IOException e) { + e.printStackTrace(); + } + return path; + } +} diff --git a/src/test/java/helpers/TestStatus.java b/src/test/java/helpers/TestStatus.java new file mode 100644 index 0000000..457f27c --- /dev/null +++ b/src/test/java/helpers/TestStatus.java @@ -0,0 +1,13 @@ +package helpers; + +import org.junit.jupiter.api.extension.AfterTestExecutionCallback; +import org.junit.jupiter.api.extension.ExtensionContext; + +public class TestStatus implements AfterTestExecutionCallback { + public boolean isFailed; + + @Override + public void afterTestExecution(ExtensionContext extensionContext) { + isFailed = extensionContext.getExecutionException().isPresent(); + } +} \ No newline at end of file diff --git a/src/test/java/pages/LogInPage.java b/src/test/java/pages/LogInPage.java index 83d3f83..5d1ccc4 100644 --- a/src/test/java/pages/LogInPage.java +++ b/src/test/java/pages/LogInPage.java @@ -39,7 +39,6 @@ public ProductsPage clickOnLoginButton() { public void assertErrorMessage(String expectedErrorMessage) { String actualErrorMessage = WaitUtils.waitForElementToBeVisible(failedLoginMessage).getText(); - assertEquals(expectedErrorMessage, actualErrorMessage, - "Actual error message:" + actualErrorMessage + " is not equal to expected: " + expectedErrorMessage); + assertEquals(expectedErrorMessage, actualErrorMessage, "Actual error message is not equal to expected."); } } diff --git a/src/test/java/pages/ProductsPage.java b/src/test/java/pages/ProductsPage.java index 71a1703..9753b39 100644 --- a/src/test/java/pages/ProductsPage.java +++ b/src/test/java/pages/ProductsPage.java @@ -40,7 +40,6 @@ public ProductsPage printOutProducts() { public void assertNumberOfProducts(int expectedNumberOfProducts) { int actualNumberOfProducts = productPageItemsList.size(); - assertEquals(expectedNumberOfProducts, actualNumberOfProducts, "Actual number of products: " - + actualNumberOfProducts + " is not equal to expected: " + expectedNumberOfProducts); + assertEquals(expectedNumberOfProducts, actualNumberOfProducts, "Actual number of products is not equal to expected."); } } diff --git a/src/test/java/tests/LoginPageTests.java b/src/test/java/tests/LoginPageTests.java index 5bc9e7e..141b342 100644 --- a/src/test/java/tests/LoginPageTests.java +++ b/src/test/java/tests/LoginPageTests.java @@ -4,7 +4,6 @@ import io.qameta.allure.Severity; import io.qameta.allure.SeverityLevel; import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import pages.LogInPage; @@ -33,14 +32,13 @@ public void correctDataLoginTest() { @Test @Description("Try to log in with incorrect user") @Severity(SeverityLevel.NORMAL) - @Disabled public void incorrectDataLoginTest() { LogInPage logInPage = new LogInPage(); logInPage .enterUserName("not_existing_user") .enterUserPassword("secret_sauce") .clickOnLoginButton(); - logInPage.assertErrorMessage("Epic sadface: Username and password do not match any user in this service"); + logInPage.assertErrorMessage("Ep sadface: Username and password do not match any user in this service"); } @Test diff --git a/src/test/java/tests/_TestsHooks.java b/src/test/java/tests/_TestsHooks.java index a5e9b7d..f7986c4 100644 --- a/src/test/java/tests/_TestsHooks.java +++ b/src/test/java/tests/_TestsHooks.java @@ -1,20 +1,32 @@ package tests; +import helpers.TestStatus; +import io.qameta.allure.Allure; import org.apache.logging.log4j.Logger; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.TestInfo; +import org.junit.jupiter.api.extension.RegisterExtension; import org.openqa.selenium.WebDriver; import utils.BrowserType; import utils.LoggingUtils; +import utils.Utils; import utils.WebDriverUtils; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; + public class _TestsHooks { public WebDriver driver; protected static final String LOG_IN_PAGE_URL = "https://www.saucedemo.com"; protected Logger logger = LoggingUtils.getLogger(this.getClass()); + @RegisterExtension + TestStatus testStatus = new TestStatus(); + @BeforeAll static void beforeAll() { /* Available options: CHROME, EDGE, FIREFOX */ @@ -28,7 +40,11 @@ public void beforeEach() { } @AfterEach - public void afterEach() { + public void afterEach(TestInfo testInfo) throws IOException { + if (testStatus.isFailed) { + String path = Utils.takeScreenshot(testInfo.getDisplayName(), driver); + Allure.attachment("screenshot", Files.newInputStream(Paths.get(path))); + } WebDriverUtils.quitDriver(); } } From 76c8e6b5b9078deb459738600281fe974b485d54 Mon Sep 17 00:00:00 2001 From: Adam Kaczmarek Date: Sun, 16 Apr 2023 16:20:35 +0200 Subject: [PATCH 10/10] Add properties file for test data and update PropertiesReader --- src/main/java/utils/PropertiesReader.java | 38 +++++++++++++++++++++++ src/test/java/tests/LoginPageTests.java | 8 +---- src/test/java/tests/ProductPageTests.java | 3 +- src/test/java/tests/_TestsHooks.java | 18 +++++------ src/test/resources/TestData.properties | 2 ++ 5 files changed, 50 insertions(+), 19 deletions(-) create mode 100644 src/test/resources/TestData.properties diff --git a/src/main/java/utils/PropertiesReader.java b/src/main/java/utils/PropertiesReader.java index c57cbc5..c42678e 100644 --- a/src/main/java/utils/PropertiesReader.java +++ b/src/main/java/utils/PropertiesReader.java @@ -1,4 +1,42 @@ package utils; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.Properties; + public class PropertiesReader { + + private Properties properties; + + private String baseUrl; + private String inventoryUrl; + + public PropertiesReader(String fileLocation) { + initProperties(fileLocation); + loadProperties(); + } + + private void loadProperties() { + baseUrl = properties.getProperty("baseUrl"); + inventoryUrl = properties.getProperty("inventoryUrl"); + } + + public void initProperties(String fileLocation) { + properties = new Properties(); + + try { + properties.load(new InputStreamReader(new FileInputStream(fileLocation))); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + public String getBaseUrl() { + return baseUrl; + } + + public String getInventoryUrl() { + return inventoryUrl; + } } diff --git a/src/test/java/tests/LoginPageTests.java b/src/test/java/tests/LoginPageTests.java index 141b342..c294c36 100644 --- a/src/test/java/tests/LoginPageTests.java +++ b/src/test/java/tests/LoginPageTests.java @@ -3,7 +3,6 @@ import io.qameta.allure.Description; import io.qameta.allure.Severity; import io.qameta.allure.SeverityLevel; -import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import pages.LogInPage; @@ -11,11 +10,6 @@ @DisplayName("Login page Tests") public class LoginPageTests extends _TestsHooks { - @BeforeEach - public void beforeTest() { - driver.get(LOG_IN_PAGE_URL); - } - @Test @DisplayName("Correct data login") @Description("Log in with correct user") @@ -38,7 +32,7 @@ public void incorrectDataLoginTest() { .enterUserName("not_existing_user") .enterUserPassword("secret_sauce") .clickOnLoginButton(); - logInPage.assertErrorMessage("Ep sadface: Username and password do not match any user in this service"); + logInPage.assertErrorMessage("Epic sadface: Username and password do not match any user in this service"); } @Test diff --git a/src/test/java/tests/ProductPageTests.java b/src/test/java/tests/ProductPageTests.java index 40949bd..3397358 100644 --- a/src/test/java/tests/ProductPageTests.java +++ b/src/test/java/tests/ProductPageTests.java @@ -14,10 +14,9 @@ public class ProductPageTests extends _TestsHooks { @BeforeEach public void beforeTest() { - driver.get(LOG_IN_PAGE_URL); driver.manage().addCookie(new Cookie("session-username", "standard_user")); driver.manage().addCookie(new Cookie("session-password", "secret_sauce")); - driver.get(LOG_IN_PAGE_URL + "/inventory.html"); + driver.get(testData.getInventoryUrl()); } @Test diff --git a/src/test/java/tests/_TestsHooks.java b/src/test/java/tests/_TestsHooks.java index f7986c4..25a7bef 100644 --- a/src/test/java/tests/_TestsHooks.java +++ b/src/test/java/tests/_TestsHooks.java @@ -2,15 +2,11 @@ import helpers.TestStatus; import io.qameta.allure.Allure; -import org.apache.logging.log4j.Logger; -import org.junit.jupiter.api.AfterEach; -import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.TestInfo; +import org.junit.jupiter.api.*; import org.junit.jupiter.api.extension.RegisterExtension; import org.openqa.selenium.WebDriver; import utils.BrowserType; -import utils.LoggingUtils; +import utils.PropertiesReader; import utils.Utils; import utils.WebDriverUtils; @@ -18,25 +14,27 @@ import java.nio.file.Files; import java.nio.file.Paths; +@TestInstance(TestInstance.Lifecycle.PER_CLASS) public class _TestsHooks { - public WebDriver driver; - protected static final String LOG_IN_PAGE_URL = "https://www.saucedemo.com"; - protected Logger logger = LoggingUtils.getLogger(this.getClass()); + protected WebDriver driver; + protected PropertiesReader testData; @RegisterExtension TestStatus testStatus = new TestStatus(); @BeforeAll - static void beforeAll() { + public void beforeAll() { /* Available options: CHROME, EDGE, FIREFOX */ WebDriverUtils.setBrowserType(BrowserType.CHROME); + testData = new PropertiesReader("src/test/resources/TestData.properties"); } @BeforeEach public void beforeEach() { driver = WebDriverUtils.getWebDriver(); driver.manage().window().maximize(); + driver.get(testData.getBaseUrl()); } @AfterEach diff --git a/src/test/resources/TestData.properties b/src/test/resources/TestData.properties new file mode 100644 index 0000000..77a6d22 --- /dev/null +++ b/src/test/resources/TestData.properties @@ -0,0 +1,2 @@ +baseUrl=https://www.saucedemo.com/ +inventoryUrl=https://www.saucedemo.com/inventory.html \ No newline at end of file