From becc4602abcdc052517a6475a5833cd5facb19f0 Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Fri, 14 Jun 2024 18:10:53 -0400
Subject: [PATCH 01/33] check code style on CI
---
.github/workflows/build.yml | 104 +++++++-------
README.md | 1 +
pom.xml | 5 +-
smoke.xml | 18 +++
.../java/com/lumatest/model/BagsPage.java | 20 +--
.../java/com/lumatest/model/BasePage.java | 30 ++--
.../com/lumatest/model/BreadcrumbsMenu.java | 18 +--
.../java/com/lumatest/model/GearPage.java | 6 +-
.../java/com/lumatest/model/HomePage.java | 6 +-
.../java/com/lumatest/model/ProductPage.java | 18 +--
.../java/com/lumatest/model/SideMenu.java | 20 +--
src/main/java/com/lumatest/model/TopMenu.java | 22 +--
src/test/java/FrameworkTest.java | 18 +--
src/test/java/com/lumatest/base/BaseTest.java | 64 ++++-----
src/test/java/com/lumatest/data/TestData.java | 42 +++---
.../com/lumatest/test/NavigationTest.java | 100 ++++++-------
.../com/lumatest/test/ProductPageTest.java | 38 ++---
.../java/com/lumatest/utils/DriverUtils.java | 134 +++++++++---------
.../java/com/lumatest/utils/ReportUtils.java | 16 +--
testng.xml | 20 +--
20 files changed, 359 insertions(+), 341 deletions(-)
create mode 100644 smoke.xml
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 1a2116f..dbeeb4a 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -10,7 +10,7 @@ permissions:
id-token: write
actions: read
checks: write
-
+
jobs:
build:
name: Build On
@@ -23,60 +23,60 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- - name: Clone code from repo
- uses: actions/checkout@v4
- with:
- fetch-depth: 0
-
- - name: Set up JDK 17
- uses: actions/setup-java@v4
- with:
- java-version: '17'
- distribution: 'corretto'
- cache: maven
+ - name: Clone code from repo
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+
+ - name: Set up JDK 17
+ uses: actions/setup-java@v4
+ with:
+ java-version: '17'
+ distribution: 'corretto'
+ cache: maven
+
+ - name: Cache m2 dependencies
+ uses: actions/cache@v4
+ with:
+ path: .m2/repository
+ key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+ restore-keys: |
+ ${{ runner.os }}-maven-
- - name: Cache m2 dependencies
- uses: actions/cache@v4
- with:
- path: .m2/repository
- key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
- restore-keys: |
- ${{ runner.os }}-maven-
-
- - name: Build with Maven
- run: mvn -B package --file pom.xml
+ - name: Build with Maven
+ run: mvn -B package --file pom.xml
- - name: Test with Maven
- run: mvn test
+ - name: Test with Maven
+ run: mvn test
- - name: Dorny Test Reporter
- uses: dorny/test-reporter@v1.9.1
- if: success() || failure()
- with:
- name: Test Report for ${{ matrix.os }}
- path: target/surefire-reports/TEST-*.xml
- reporter: java-junit
+ - name: Dorny Test Reporter
+ uses: dorny/test-reporter@v1.9.1
+ if: success() || failure()
+ with:
+ name: Test Report for ${{ matrix.os }}
+ path: target/surefire-reports/TEST-*.xml
+ reporter: java-junit
- - name: Load Allure test report history
- uses: actions/checkout@v4
- if: always()
- continue-on-error: true
- with:
- ref: gh-pages
- path: gh-pages
+ - name: Load Allure test report history
+ uses: actions/checkout@v4
+ if: always()
+ continue-on-error: true
+ with:
+ ref: gh-pages
+ path: gh-pages
- - name: Build Allure test report
- uses: simple-elf/allure-report-action@v1.7
- if: ${{ matrix.os == 'ubuntu-latest' }}
- with:
- gh_pages: gh-pages
- allure_history: allure-history
- allure_results: target/allure-results
+ - name: Build Allure test report
+ uses: simple-elf/allure-report-action@v1.7
+ if: ${{ matrix.os == 'ubuntu-latest' }}
+ with:
+ gh_pages: gh-pages
+ allure_history: allure-history
+ allure_results: target/allure-results
- - name: Publish Allure test report
- uses: peaceiris/actions-gh-pages@v3
- if: ${{ matrix.os == 'ubuntu-latest' }}
- with:
- github_token: ${{ secrets.GITHUB_TOKEN }}
- publish_branch: gh-pages
- publish_dir: allure-history
+ - name: Publish Allure test report
+ uses: peaceiris/actions-gh-pages@v3
+ if: ${{ matrix.os == 'ubuntu-latest' }}
+ with:
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ publish_branch: gh-pages
+ publish_dir: allure-history
diff --git a/README.md b/README.md
index 93762c7..5867777 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,3 @@
# LUMAJavaSeleniumTestNGAllure
+
[](https://github.com/ArinaJur/LUMAJavaSeleniumTestNGAllure/actions/workflows/build.yml)
diff --git a/pom.xml b/pom.xml
index b3d372e..547d541 100644
--- a/pom.xml
+++ b/pom.xml
@@ -71,9 +71,8 @@
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
-
- testng.xml
-
+ testng.xml
+ smoke.xml
diff --git a/smoke.xml b/smoke.xml
new file mode 100644
index 0000000..b649ea3
--- /dev/null
+++ b/smoke.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/lumatest/model/BagsPage.java b/src/main/java/com/lumatest/model/BagsPage.java
index 962262e..35f2306 100644
--- a/src/main/java/com/lumatest/model/BagsPage.java
+++ b/src/main/java/com/lumatest/model/BagsPage.java
@@ -5,17 +5,17 @@
import org.openqa.selenium.WebDriver;
public class BagsPage extends SideMenu {
- private final String productNameXpath = "//img[@alt='";
+ private final String productNameXpath = "//img[@alt='";
- protected BagsPage(WebDriver driver) {
- super(driver);
- }
+ protected BagsPage(WebDriver driver) {
+ super(driver);
+ }
- @Step("Click '{productName}' Img.")
- public ProductPage clickProductImg(String productName) {
- String imgXpath = productNameXpath + productName + "']";
- getDriver().findElement(By.xpath(imgXpath)).click();
+ @Step("Click '{productName}' Img.")
+ public ProductPage clickProductImg(String productName) {
+ String imgXpath = productNameXpath + productName + "']";
+ getDriver().findElement(By.xpath(imgXpath)).click();
- return new ProductPage(getDriver());
- }
+ return new ProductPage(getDriver());
+ }
}
diff --git a/src/main/java/com/lumatest/model/BasePage.java b/src/main/java/com/lumatest/model/BasePage.java
index 4c3b356..5357d79 100644
--- a/src/main/java/com/lumatest/model/BasePage.java
+++ b/src/main/java/com/lumatest/model/BasePage.java
@@ -7,23 +7,23 @@
import java.time.Duration;
abstract class BasePage {
- private final WebDriver driver;
- private WebDriverWait wait;
+ private final WebDriver driver;
+ private WebDriverWait wait;
- protected BasePage(WebDriver driver) {
- this.driver = driver;
- PageFactory.initElements(driver, this);
- }
-
- protected WebDriver getDriver() {
- return this.driver;
- }
+ protected BasePage(WebDriver driver) {
+ this.driver = driver;
+ PageFactory.initElements(driver, this);
+ }
- protected WebDriverWait getWait() {
- if(wait == null) {
- this.wait = new WebDriverWait(driver, Duration.ofSeconds(10));
- }
+ protected WebDriver getDriver() {
+ return this.driver;
+ }
- return wait;
+ protected WebDriverWait getWait() {
+ if (wait == null) {
+ this.wait = new WebDriverWait(driver, Duration.ofSeconds(10));
}
+
+ return wait;
+ }
}
diff --git a/src/main/java/com/lumatest/model/BreadcrumbsMenu.java b/src/main/java/com/lumatest/model/BreadcrumbsMenu.java
index 4cbf5b2..77faef0 100644
--- a/src/main/java/com/lumatest/model/BreadcrumbsMenu.java
+++ b/src/main/java/com/lumatest/model/BreadcrumbsMenu.java
@@ -7,16 +7,16 @@
import org.openqa.selenium.support.ui.ExpectedConditions;
abstract class BreadcrumbsMenu extends TopMenu {
- @FindBy(xpath = "//ul[@class='items']")
- private WebElement breadcrumbsMenu;
+ @FindBy(xpath = "//ul[@class='items']")
+ private WebElement breadcrumbsMenu;
- protected BreadcrumbsMenu(WebDriver driver) {
- super(driver);
- }
+ protected BreadcrumbsMenu(WebDriver driver) {
+ super(driver);
+ }
- @Step("Collect Breadcrumbs Menu Text.")
- public String getBreadcrumbsMenuText() {
+ @Step("Collect Breadcrumbs Menu Text.")
+ public String getBreadcrumbsMenuText() {
- return getWait().until(ExpectedConditions.visibilityOf(breadcrumbsMenu)).getText();
- }
+ return getWait().until(ExpectedConditions.visibilityOf(breadcrumbsMenu)).getText();
+ }
}
diff --git a/src/main/java/com/lumatest/model/GearPage.java b/src/main/java/com/lumatest/model/GearPage.java
index ae77536..449b34c 100644
--- a/src/main/java/com/lumatest/model/GearPage.java
+++ b/src/main/java/com/lumatest/model/GearPage.java
@@ -4,7 +4,7 @@
public class GearPage extends SideMenu {
- protected GearPage(WebDriver driver) {
- super(driver);
- }
+ protected GearPage(WebDriver driver) {
+ super(driver);
+ }
}
diff --git a/src/main/java/com/lumatest/model/HomePage.java b/src/main/java/com/lumatest/model/HomePage.java
index e9cf172..5e54f98 100644
--- a/src/main/java/com/lumatest/model/HomePage.java
+++ b/src/main/java/com/lumatest/model/HomePage.java
@@ -4,7 +4,7 @@
public class HomePage extends TopMenu {
- public HomePage(WebDriver driver) {
- super(driver);
- }
+ public HomePage(WebDriver driver) {
+ super(driver);
+ }
}
\ No newline at end of file
diff --git a/src/main/java/com/lumatest/model/ProductPage.java b/src/main/java/com/lumatest/model/ProductPage.java
index 9a5fc80..14684c5 100644
--- a/src/main/java/com/lumatest/model/ProductPage.java
+++ b/src/main/java/com/lumatest/model/ProductPage.java
@@ -6,16 +6,16 @@
import org.openqa.selenium.support.FindBy;
public class ProductPage extends BreadcrumbsMenu {
- @FindBy(xpath = "//span[@data-ui-id='page-title-wrapper']")
- private WebElement productName;
+ @FindBy(xpath = "//span[@data-ui-id='page-title-wrapper']")
+ private WebElement productName;
- protected ProductPage(WebDriver driver) {
- super(driver);
- }
+ protected ProductPage(WebDriver driver) {
+ super(driver);
+ }
- @Step("Collect Actual Product Name Text.")
- public String getProductNameText() {
+ @Step("Collect Actual Product Name Text.")
+ public String getProductNameText() {
- return productName.getText();
- }
+ return productName.getText();
+ }
}
diff --git a/src/main/java/com/lumatest/model/SideMenu.java b/src/main/java/com/lumatest/model/SideMenu.java
index f1934e4..22e21d7 100644
--- a/src/main/java/com/lumatest/model/SideMenu.java
+++ b/src/main/java/com/lumatest/model/SideMenu.java
@@ -7,17 +7,17 @@
abstract class SideMenu extends BreadcrumbsMenu {
- @FindBy(linkText = "Bags")
- private WebElement bagsSideMenu;
+ @FindBy(linkText = "Bags")
+ private WebElement bagsSideMenu;
- protected SideMenu(WebDriver driver) {
- super(driver);
- }
+ protected SideMenu(WebDriver driver) {
+ super(driver);
+ }
- @Step("Click Bags Side Menu.")
- public BagsPage clickBagsSideMenu() {
- bagsSideMenu.click();
+ @Step("Click Bags Side Menu.")
+ public BagsPage clickBagsSideMenu() {
+ bagsSideMenu.click();
- return new BagsPage(getDriver());
- }
+ return new BagsPage(getDriver());
+ }
}
diff --git a/src/main/java/com/lumatest/model/TopMenu.java b/src/main/java/com/lumatest/model/TopMenu.java
index a473ad4..ae5eae6 100644
--- a/src/main/java/com/lumatest/model/TopMenu.java
+++ b/src/main/java/com/lumatest/model/TopMenu.java
@@ -1,23 +1,23 @@
package com.lumatest.model;
+import io.qameta.allure.Step;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
-import io.qameta.allure.Step;
abstract class TopMenu extends BasePage {
- @FindBy(linkText = "Gear")
- private WebElement gearTopMenu;
+ @FindBy(linkText = "Gear")
+ private WebElement gearTopMenu;
- protected TopMenu(WebDriver driver) {
- super(driver);
- }
+ protected TopMenu(WebDriver driver) {
+ super(driver);
+ }
- @Step("Click Gear Top Menu.")
- public GearPage clickGearTopMenu() {
- gearTopMenu.click();
+ @Step("Click Gear Top Menu.")
+ public GearPage clickGearTopMenu() {
+ gearTopMenu.click();
- return new GearPage(getDriver());
- }
+ return new GearPage(getDriver());
+ }
}
diff --git a/src/test/java/FrameworkTest.java b/src/test/java/FrameworkTest.java
index e2b35e3..aa0dcf5 100644
--- a/src/test/java/FrameworkTest.java
+++ b/src/test/java/FrameworkTest.java
@@ -3,16 +3,16 @@
import org.testng.annotations.Test;
public class FrameworkTest {
- @Test
- public void testPass() {
+ @Test
+ public void testPass() {
- Assert.assertTrue(true);
- }
+ Assert.assertTrue(true);
+ }
- @Ignore
- @Test
- public void testFail() {
+ @Ignore
+ @Test
+ public void testFail() {
- Assert.assertTrue(false);
- }
+ Assert.assertTrue(false);
+ }
}
diff --git a/src/test/java/com/lumatest/base/BaseTest.java b/src/test/java/com/lumatest/base/BaseTest.java
index b77f09d..537944d 100644
--- a/src/test/java/com/lumatest/base/BaseTest.java
+++ b/src/test/java/com/lumatest/base/BaseTest.java
@@ -9,53 +9,53 @@
import org.testng.annotations.*;
public abstract class BaseTest {
- private WebDriver driver;
+ private WebDriver driver;
- @BeforeSuite
- protected void setupWebDriverManager() {
- WebDriverManager.chromedriver().setup();
+ @BeforeSuite
+ protected void setupWebDriverManager() {
+ WebDriverManager.chromedriver().setup();
// WebDriverManager.firefoxdriver().setup();
// WebDriverManager.edgedriver().setup();
// WebDriverManager.operadriver().setup();
// WebDriverManager.chromiumdriver().setup();
// WebDriverManager.iedriver().setup();
- }
-
- @Parameters("browser")
- @BeforeMethod()
- protected void setupDriver(@Optional("chrome") String browser, ITestResult result) {
- Reporter.log("______________________________________________________________________", true);
- Reporter.log("RUN " + result.getMethod().getMethodName(), true);
+ }
- this.driver = DriverUtils.createDriver(browser, this.driver);
+ @Parameters("browser")
+ @BeforeMethod(alwaysRun = true)
+ protected void setupDriver(@Optional("chrome") String browser, ITestResult result) {
+ Reporter.log("______________________________________________________________________", true);
+ Reporter.log("RUN " + result.getMethod().getMethodName(), true);
- if (getDriver() == null) {
- Reporter.log("ERROR: Unknown parameter 'browser' - '" + browser + "'.", true);
+ this.driver = DriverUtils.createDriver(browser, this.driver);
- System.exit(1);
- }
+ if (getDriver() == null) {
+ Reporter.log("ERROR: Unknown parameter 'browser' - '" + browser + "'.", true);
- Reporter.log("INFO: " + browser.toUpperCase() + " driver created.", true);
+ System.exit(1);
}
- @Parameters("browser")
- @AfterMethod(alwaysRun = true)
- protected void tearDown(@Optional("chrome") String browser, ITestResult result) {
- Reporter.log(result.getMethod().getMethodName() + ": " + ReportUtils.getTestStatus(result),
- true);
+ Reporter.log("INFO: " + browser.toUpperCase() + " driver created.", true);
+ }
- if (getDriver() != null) {
- getDriver().quit();
- Reporter.log("INFO: " + browser.toUpperCase() + " driver closed.", true);
+ @Parameters("browser")
+ @AfterMethod(alwaysRun = true)
+ protected void tearDown(@Optional("chrome") String browser, ITestResult result) {
+ Reporter.log(result.getMethod().getMethodName() + ": " + ReportUtils.getTestStatus(result),
+ true);
- this.driver = null;
- } else {
- Reporter.log("INFO: Driver is null.", true);
- }
- }
+ if (getDriver() != null) {
+ getDriver().quit();
+ Reporter.log("INFO: " + browser.toUpperCase() + " driver closed.", true);
- protected WebDriver getDriver() {
- return this.driver;
+ this.driver = null;
+ } else {
+ Reporter.log("INFO: Driver is null.", true);
}
+ }
+
+ protected WebDriver getDriver() {
+ return this.driver;
+ }
}
diff --git a/src/test/java/com/lumatest/data/TestData.java b/src/test/java/com/lumatest/data/TestData.java
index b8e1658..9b23f6f 100644
--- a/src/test/java/com/lumatest/data/TestData.java
+++ b/src/test/java/com/lumatest/data/TestData.java
@@ -4,30 +4,30 @@
import org.testng.annotations.DataProvider;
public class TestData {
- public static final String BASE_URL = "https://magento.softwaretestingboard.com";
- public static final String BASE_URL_TITLE = "Home Page";
+ public static final String BASE_URL = "https://magento.softwaretestingboard.com";
+ public static final String BASE_URL_TITLE = "Home Page";
- public static class NavMenuData {
- public static final By WHATS_NEW_MENU = By.xpath("//nav//span[text()=\"What's New\"]");
- public static final String WHATS_NEW_URL = BASE_URL + "/what-is-new.html";
- public static final String WHATS_NEW_TITLE = "What's New";
- }
+ public static class NavMenuData {
+ public static final By WHATS_NEW_MENU = By.xpath("//nav//span[text()=\"What's New\"]");
+ public static final String WHATS_NEW_URL = BASE_URL + "/what-is-new.html";
+ public static final String WHATS_NEW_TITLE = "What's New";
+ }
- //all others menus
+ //all others menus
- public static final By SALE_MENU = By.xpath("//nav//span[text()='Sale']");
- public static final String SALE_URL = BASE_URL + "/sale.html";
- public static final String SALE_TITLE = "Sale";
+ public static final By SALE_MENU = By.xpath("//nav//span[text()='Sale']");
+ public static final String SALE_URL = BASE_URL + "/sale.html";
+ public static final String SALE_TITLE = "Sale";
- @DataProvider(name = "navigationData")
- public static Object[][] getNavMenuData() {
- return new Object[][] {
- {BASE_URL, NavMenuData.WHATS_NEW_MENU, NavMenuData.WHATS_NEW_URL, NavMenuData.WHATS_NEW_TITLE},
- {BASE_URL, SALE_MENU, SALE_URL, SALE_TITLE}
- };
- }
+ @DataProvider(name = "navigationData")
+ public static Object[][] getNavMenuData() {
+ return new Object[][]{
+ {BASE_URL, NavMenuData.WHATS_NEW_MENU, NavMenuData.WHATS_NEW_URL, NavMenuData.WHATS_NEW_TITLE},
+ {BASE_URL, SALE_MENU, SALE_URL, SALE_TITLE}
+ };
+ }
- //ProductPage
- public static final String DRIVEN_BACKPACK_PRODUCT_NAME = "Driven Backpack";
- public static final String DRIVEN_BACKPACK_PRODUCT_PAGE_BREADCRUMBS_MENU = "Home Gear Bags Driven Backpack";
+ //ProductPage
+ public static final String DRIVEN_BACKPACK_PRODUCT_NAME = "Driven Backpack";
+ public static final String DRIVEN_BACKPACK_PRODUCT_PAGE_BREADCRUMBS_MENU = "Home Gear Bags Driven Backpack";
}
diff --git a/src/test/java/com/lumatest/test/NavigationTest.java b/src/test/java/com/lumatest/test/NavigationTest.java
index 614ba7e..310d086 100644
--- a/src/test/java/com/lumatest/test/NavigationTest.java
+++ b/src/test/java/com/lumatest/test/NavigationTest.java
@@ -9,61 +9,61 @@
public class NavigationTest extends BaseTest {
- @Test(
- description = "TC-01 Open Base URL",
- groups = {"Smoke", "Regression"},
- testName = "NAVIGATION | Open Base URL"
- )
- @Story("Navigation")
- @Severity(SeverityLevel.BLOCKER)
- @Description("To verify that the base URL and title of the application are correct and as expected.")
- @Link(TestData.BASE_URL)
- public void testOpenBaseURL() {
- Allure.step("Set up expected results.");
- final String expectedURL = TestData.BASE_URL + "/";
- final String expectedTitle = TestData.BASE_URL_TITLE;
+ @Test(
+ testName = "NAVIGATION | Open Base URL",
+ description = "TC-01 Open Base URL",
+ groups = {"smoke", "regression"}
+ )
+ @Story("Navigation")
+ @Severity(SeverityLevel.BLOCKER)
+ @Description("To verify that the base URL and title of the application are correct and as expected.")
+ @Link(TestData.BASE_URL)
+ public void testOpenBaseURL() {
+ Allure.step("Set up expected results.");
+ final String expectedURL = TestData.BASE_URL + "/";
+ final String expectedTitle = TestData.BASE_URL_TITLE;
- Allure.step("Open base URL.");
- getDriver().get(TestData.BASE_URL);
+ Allure.step("Open base URL.");
+ getDriver().get(TestData.BASE_URL);
- Allure.step("Collect actual URL and actual title.");
- final String actualURL = getDriver().getCurrentUrl();
- final String actualTitle = getDriver().getTitle();
+ Allure.step("Collect actual URL and actual title.");
+ final String actualURL = getDriver().getCurrentUrl();
+ final String actualTitle = getDriver().getTitle();
- Allure.step("Verify that the actual URL is as expected.");
- Assert.assertEquals(actualURL, expectedURL);
- Allure.step("Verify that the actual title is as expected.");
- Assert.assertEquals(actualTitle, expectedTitle);
- }
+ Allure.step("Verify that the actual URL is as expected.");
+ Assert.assertEquals(actualURL, expectedURL);
+ Allure.step("Verify that the actual title is as expected.");
+ Assert.assertEquals(actualTitle, expectedTitle);
+ }
- @Test(
- groups = {"Smoke", "Regression"},
- description = "TC-02 Top Menu Navigation",
- dataProvider = "navigationData",
- dataProviderClass = TestData.class,
- testName = "NAVIGATION | Navigate to top menus"
- )
- @Story("Navigation")
- @Severity(SeverityLevel.CRITICAL)
- @Description("To verify that the top menu navigation on the website functions correctly by ensuring that " +
- "clicking on menu items directs the user to the expected URL with the expected title.")
- @Link(TestData.BASE_URL)
- public void testNavigationMenu(String baseURL, By navbarMenu, String expectedURL, String expectedTitle) {
- // {BASE_URL, WHATS_NEW_MENU, WHATS_NEW_URL, WHATS_NEW_TITLE},
- //{BASE_URL, SALE_MENU, SALE_URL, SALE_TITLE}
- Allure.step("Open Base URL");
- getDriver().get(baseURL);
+ @Test(
+ testName = "NAVIGATION | Navigate via top menus",
+ description = "TC-02 Top Menu Navigation",
+ dataProvider = "navigationData",
+ dataProviderClass = TestData.class,
+ groups = {"smoke", "regression"}
+ )
+ @Story("Navigation")
+ @Severity(SeverityLevel.CRITICAL)
+ @Description("To verify that the top menu navigation on the website functions correctly by ensuring that " +
+ "clicking on menu items directs the user to the expected URL with the expected title.")
+ @Link(TestData.BASE_URL)
+ public void testNavigationMenu(String baseURL, By navbarMenu, String expectedURL, String expectedTitle) {
+ // {BASE_URL, WHATS_NEW_MENU, WHATS_NEW_URL, WHATS_NEW_TITLE},
+ //{BASE_URL, SALE_MENU, SALE_URL, SALE_TITLE}
+ Allure.step("Open Base URL");
+ getDriver().get(baseURL);
- Allure.step("Click on " + navbarMenu.toString());
- getDriver().findElement(navbarMenu).click();
+ Allure.step("Click on " + navbarMenu.toString());
+ getDriver().findElement(navbarMenu).click();
- Allure.step("Collect actualURL, actualTitle");
- final String actualURL = getDriver().getCurrentUrl();
- final String actualTitle = getDriver().getTitle();
+ Allure.step("Collect actualURL, actualTitle");
+ final String actualURL = getDriver().getCurrentUrl();
+ final String actualTitle = getDriver().getTitle();
- Allure.step("Verify actualURL as expected");
- Assert.assertEquals(actualURL, expectedURL);
- Allure.step("Verify actualTitle as expected");
- Assert.assertEquals(actualTitle, expectedTitle);
- }
+ Allure.step("Verify actualURL as expected");
+ Assert.assertEquals(actualURL, expectedURL);
+ Allure.step("Verify actualTitle as expected");
+ Assert.assertEquals(actualTitle, expectedTitle);
+ }
}
diff --git a/src/test/java/com/lumatest/test/ProductPageTest.java b/src/test/java/com/lumatest/test/ProductPageTest.java
index 46546ef..f5e6e35 100644
--- a/src/test/java/com/lumatest/test/ProductPageTest.java
+++ b/src/test/java/com/lumatest/test/ProductPageTest.java
@@ -10,27 +10,27 @@
public class ProductPageTest extends BaseTest {
- @Test
- public void testProduct() {
- Allure.step("Open Base URL.");
- getDriver().get(TestData.BASE_URL);
+ @Test
+ public void testProduct() {
+ Allure.step("Open Base URL.");
+ getDriver().get(TestData.BASE_URL);
- ProductPage productPage = new HomePage(getDriver())
- .clickGearTopMenu()
- .clickBagsSideMenu()
- .clickProductImg(TestData.DRIVEN_BACKPACK_PRODUCT_NAME);
+ ProductPage productPage = new HomePage(getDriver())
+ .clickGearTopMenu()
+ .clickBagsSideMenu()
+ .clickProductImg(TestData.DRIVEN_BACKPACK_PRODUCT_NAME);
- final String productName = productPage.getProductNameText();
- final String breadcrumbsMenuText = productPage.getBreadcrumbsMenuText();
+ final String productName = productPage.getProductNameText();
+ final String breadcrumbsMenuText = productPage.getBreadcrumbsMenuText();
- Allure.step(
- "Verify actual '" + productName + "' equals to '" + TestData.DRIVEN_BACKPACK_PRODUCT_NAME + "'"
- );
- Assert.assertEquals(productName, TestData.DRIVEN_BACKPACK_PRODUCT_NAME);
+ Allure.step(
+ "Verify actual '" + productName + "' equals to '" + TestData.DRIVEN_BACKPACK_PRODUCT_NAME + "'"
+ );
+ Assert.assertEquals(productName, TestData.DRIVEN_BACKPACK_PRODUCT_NAME);
- Allure.step(
- "Verify actual '" + breadcrumbsMenuText + "' equals to '" + TestData.DRIVEN_BACKPACK_PRODUCT_PAGE_BREADCRUMBS_MENU + "'"
- );
- Assert.assertEquals(breadcrumbsMenuText, TestData.DRIVEN_BACKPACK_PRODUCT_PAGE_BREADCRUMBS_MENU);
- }
+ Allure.step(
+ "Verify actual '" + breadcrumbsMenuText + "' equals to '" + TestData.DRIVEN_BACKPACK_PRODUCT_PAGE_BREADCRUMBS_MENU + "'"
+ );
+ Assert.assertEquals(breadcrumbsMenuText, TestData.DRIVEN_BACKPACK_PRODUCT_PAGE_BREADCRUMBS_MENU);
+ }
}
diff --git a/src/test/java/com/lumatest/utils/DriverUtils.java b/src/test/java/com/lumatest/utils/DriverUtils.java
index 31e84cd..10cec68 100644
--- a/src/test/java/com/lumatest/utils/DriverUtils.java
+++ b/src/test/java/com/lumatest/utils/DriverUtils.java
@@ -10,84 +10,84 @@
import java.util.Map;
public class DriverUtils {
- private static final ChromeOptions chromeOptions;
- private static final FirefoxOptions firefoxOptions;
- private static final ChromiumOptions chromiumOptions;
+ private static final ChromeOptions chromeOptions;
+ private static final FirefoxOptions firefoxOptions;
+ private static final ChromiumOptions chromiumOptions;
- static {
- chromeOptions = new ChromeOptions();
- chromeOptions.addArguments("--incognito");
- chromeOptions.addArguments("--headless");
- chromeOptions.addArguments("--window-size=1920,1080");
- chromeOptions.addArguments("--disable-gpu");
- chromeOptions.addArguments("--no-sandbox");
- chromeOptions.addArguments("--disable-dev-shm-usage");
- chromeOptions.addArguments("--disable-web-security");
- chromeOptions.addArguments("--allow-running-insecure-content");
- chromeOptions.addArguments("--ignore-certificate-errors");
+ static {
+ chromeOptions = new ChromeOptions();
+ chromeOptions.addArguments("--incognito");
+ chromeOptions.addArguments("--headless");
+ chromeOptions.addArguments("--window-size=1920,1080");
+ chromeOptions.addArguments("--disable-gpu");
+ chromeOptions.addArguments("--no-sandbox");
+ chromeOptions.addArguments("--disable-dev-shm-usage");
+ chromeOptions.addArguments("--disable-web-security");
+ chromeOptions.addArguments("--allow-running-insecure-content");
+ chromeOptions.addArguments("--ignore-certificate-errors");
- firefoxOptions = new FirefoxOptions();
- firefoxOptions.addArguments("--incognito");
- firefoxOptions.addArguments("--headless");
- firefoxOptions.addArguments("--window-size=1920,1080");
- firefoxOptions.addArguments("--disable-gpu");
- firefoxOptions.addArguments("--no-sandbox");
- firefoxOptions.addArguments("--disable-dev-shm-usage");
- firefoxOptions.addArguments("--disable-web-security");
- firefoxOptions.addArguments("--allow-running-insecure-content");
- firefoxOptions.addArguments("--ignore-certificate-errors");
+ firefoxOptions = new FirefoxOptions();
+ firefoxOptions.addArguments("--incognito");
+ firefoxOptions.addArguments("--headless");
+ firefoxOptions.addArguments("--window-size=1920,1080");
+ firefoxOptions.addArguments("--disable-gpu");
+ firefoxOptions.addArguments("--no-sandbox");
+ firefoxOptions.addArguments("--disable-dev-shm-usage");
+ firefoxOptions.addArguments("--disable-web-security");
+ firefoxOptions.addArguments("--allow-running-insecure-content");
+ firefoxOptions.addArguments("--ignore-certificate-errors");
- chromiumOptions = chromeOptions;
- }
-
- private static WebDriver createChromeDriver(WebDriver driver) {
- if (driver != null) {
- driver.quit();
- }
- ChromeDriver chromeDriver = new ChromeDriver(chromeOptions);
- chromeDriver.executeCdpCommand("Network.enable", Map.of());
- chromeDriver.executeCdpCommand(
- "Network.setExtraHTTPHeaders", Map.of("headers", Map.of("accept-language", "en-US,en;q=0.9"))
- );
+ chromiumOptions = chromeOptions;
+ }
- return chromeDriver ;
+ private static WebDriver createChromeDriver(WebDriver driver) {
+ if (driver != null) {
+ driver.quit();
}
+ ChromeDriver chromeDriver = new ChromeDriver(chromeOptions);
+ chromeDriver.executeCdpCommand("Network.enable", Map.of());
+ chromeDriver.executeCdpCommand(
+ "Network.setExtraHTTPHeaders", Map.of("headers", Map.of("accept-language", "en-US,en;q=0.9"))
+ );
- private static WebDriver createChromiumDriver(WebDriver driver) {
- if (driver != null) {
- driver.quit();
- }
- ChromeDriver chromeDriver = new ChromeDriver((ChromeOptions) chromiumOptions);
- chromeDriver.executeCdpCommand("Network.enable", Map.of());
- chromeDriver.executeCdpCommand(
- "Network.setExtraHTTPHeaders", Map.of("headers", Map.of("accept-language", "en-US,en;q=0.9"))
- );
+ return chromeDriver;
+ }
- return chromeDriver ;
+ private static WebDriver createChromiumDriver(WebDriver driver) {
+ if (driver != null) {
+ driver.quit();
}
+ ChromeDriver chromeDriver = new ChromeDriver((ChromeOptions) chromiumOptions);
+ chromeDriver.executeCdpCommand("Network.enable", Map.of());
+ chromeDriver.executeCdpCommand(
+ "Network.setExtraHTTPHeaders", Map.of("headers", Map.of("accept-language", "en-US,en;q=0.9"))
+ );
- private static WebDriver createFirefoxDriver(WebDriver driver) {
- if (driver != null) {
- driver.quit();
- }
+ return chromeDriver;
+ }
- return new FirefoxDriver(firefoxOptions);
+ private static WebDriver createFirefoxDriver(WebDriver driver) {
+ if (driver != null) {
+ driver.quit();
}
- public static WebDriver createDriver(String browser, WebDriver driver) {
- switch(browser) {
- case "chrome" -> {
- return createChromeDriver(driver);
- }
- case "firefox" -> {
- return createFirefoxDriver(driver);
- }
- case "chromium" -> {
- return createChromiumDriver(driver);
- }
- default -> {
- return null;
- }
- }
+ return new FirefoxDriver(firefoxOptions);
+ }
+
+ public static WebDriver createDriver(String browser, WebDriver driver) {
+ switch (browser) {
+ case "chrome" -> {
+ return createChromeDriver(driver);
+ }
+ case "firefox" -> {
+ return createFirefoxDriver(driver);
+ }
+ case "chromium" -> {
+ return createChromiumDriver(driver);
+ }
+ default -> {
+ return null;
+ }
}
+ }
}
diff --git a/src/test/java/com/lumatest/utils/ReportUtils.java b/src/test/java/com/lumatest/utils/ReportUtils.java
index 83b0b12..604f32f 100644
--- a/src/test/java/com/lumatest/utils/ReportUtils.java
+++ b/src/test/java/com/lumatest/utils/ReportUtils.java
@@ -3,13 +3,13 @@
import org.testng.ITestResult;
public class ReportUtils {
- public static String getTestStatus(ITestResult result) {
- if (result.getStatus() == 1) {
- return "PASS";
- } else if(result.getStatus() == 2) {
- return "FAIL";
- }
-
- return "UNKNOWN";
+ public static String getTestStatus(ITestResult result) {
+ if (result.getStatus() == 1) {
+ return "PASS";
+ } else if (result.getStatus() == 2) {
+ return "FAIL";
}
+
+ return "UNKNOWN";
+ }
}
diff --git a/testng.xml b/testng.xml
index 2e8eba5..3d42563 100644
--- a/testng.xml
+++ b/testng.xml
@@ -1,26 +1,26 @@
-
+
-
+
-
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
\ No newline at end of file
From 8afd245e8a804242f52f9b8d5ceb8046b108802f Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Fri, 14 Jun 2024 18:13:35 -0400
Subject: [PATCH 02/33] add codestyle check
---
.github/workflows/build.yml | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index dbeeb4a..df1e0e9 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -80,3 +80,17 @@ jobs:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_branch: gh-pages
publish_dir: allure-history
+
+ check-java-code-style:
+ name: Check Java code style
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Clone code from repo
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+
+ - name: Run java checkstyle
+ uses: nikitasavinov/checkstyle-action@0.6.0
\ No newline at end of file
From 347edaa91d48b5ba743926861df153da6b844525 Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Fri, 14 Jun 2024 18:27:57 -0400
Subject: [PATCH 03/33] build first
---
.github/workflows/build.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index df1e0e9..bbea9f1 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -44,7 +44,7 @@ jobs:
${{ runner.os }}-maven-
- name: Build with Maven
- run: mvn -B package --file pom.xml
+ run: mvn clean install -DskipTests=true
- name: Test with Maven
run: mvn test
From 901a680d3853862fafbcd829976c9ffeeb8f349e Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Fri, 14 Jun 2024 18:52:37 -0400
Subject: [PATCH 04/33] Clean code
---
src/main/java/com/lumatest/model/BagsPage.java | 2 +-
src/main/java/com/lumatest/model/BasePage.java | 3 +--
src/test/java/com/lumatest/base/BaseTest.java | 17 ++++++++++-------
.../java/com/lumatest/test/NavigationTest.java | 7 ++++++-
.../java/com/lumatest/test/ProductPageTest.java | 14 +++++++++-----
.../java/com/lumatest/utils/DriverUtils.java | 3 +--
6 files changed, 28 insertions(+), 18 deletions(-)
diff --git a/src/main/java/com/lumatest/model/BagsPage.java b/src/main/java/com/lumatest/model/BagsPage.java
index 35f2306..58d5fde 100644
--- a/src/main/java/com/lumatest/model/BagsPage.java
+++ b/src/main/java/com/lumatest/model/BagsPage.java
@@ -5,7 +5,6 @@
import org.openqa.selenium.WebDriver;
public class BagsPage extends SideMenu {
- private final String productNameXpath = "//img[@alt='";
protected BagsPage(WebDriver driver) {
super(driver);
@@ -13,6 +12,7 @@ protected BagsPage(WebDriver driver) {
@Step("Click '{productName}' Img.")
public ProductPage clickProductImg(String productName) {
+ String productNameXpath = "//img[@alt='";
String imgXpath = productNameXpath + productName + "']";
getDriver().findElement(By.xpath(imgXpath)).click();
diff --git a/src/main/java/com/lumatest/model/BasePage.java b/src/main/java/com/lumatest/model/BasePage.java
index 5357d79..cd62968 100644
--- a/src/main/java/com/lumatest/model/BasePage.java
+++ b/src/main/java/com/lumatest/model/BasePage.java
@@ -1,11 +1,10 @@
package com.lumatest.model;
+import java.time.Duration;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.support.PageFactory;
import org.openqa.selenium.support.ui.WebDriverWait;
-import java.time.Duration;
-
abstract class BasePage {
private final WebDriver driver;
private WebDriverWait wait;
diff --git a/src/test/java/com/lumatest/base/BaseTest.java b/src/test/java/com/lumatest/base/BaseTest.java
index 537944d..ea4cf69 100644
--- a/src/test/java/com/lumatest/base/BaseTest.java
+++ b/src/test/java/com/lumatest/base/BaseTest.java
@@ -6,7 +6,11 @@
import org.openqa.selenium.WebDriver;
import org.testng.ITestResult;
import org.testng.Reporter;
-import org.testng.annotations.*;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.BeforeSuite;
+import org.testng.annotations.Optional;
+import org.testng.annotations.Parameters;
+import org.testng.annotations.AfterMethod;
public abstract class BaseTest {
private WebDriver driver;
@@ -14,12 +18,11 @@ public abstract class BaseTest {
@BeforeSuite
protected void setupWebDriverManager() {
WebDriverManager.chromedriver().setup();
-// WebDriverManager.firefoxdriver().setup();
-
-// WebDriverManager.edgedriver().setup();
-// WebDriverManager.operadriver().setup();
-// WebDriverManager.chromiumdriver().setup();
-// WebDriverManager.iedriver().setup();
+// WebDriverManager.firefoxdriver().setup();
+// WebDriverManager.edgedriver().setup();
+// WebDriverManager.operadriver().setup();
+// WebDriverManager.chromiumdriver().setup();
+// WebDriverManager.iedriver().setup();
}
@Parameters("browser")
diff --git a/src/test/java/com/lumatest/test/NavigationTest.java b/src/test/java/com/lumatest/test/NavigationTest.java
index 310d086..2f57cad 100644
--- a/src/test/java/com/lumatest/test/NavigationTest.java
+++ b/src/test/java/com/lumatest/test/NavigationTest.java
@@ -2,7 +2,12 @@
import com.lumatest.base.BaseTest;
import com.lumatest.data.TestData;
-import io.qameta.allure.*;
+import io.qameta.allure.Link;
+import io.qameta.allure.Description;
+import io.qameta.allure.Severity;
+import io.qameta.allure.SeverityLevel;
+import io.qameta.allure.Story;
+import io.qameta.allure.Allure;
import org.openqa.selenium.By;
import org.testng.Assert;
import org.testng.annotations.Test;
diff --git a/src/test/java/com/lumatest/test/ProductPageTest.java b/src/test/java/com/lumatest/test/ProductPageTest.java
index f5e6e35..ebc0f06 100644
--- a/src/test/java/com/lumatest/test/ProductPageTest.java
+++ b/src/test/java/com/lumatest/test/ProductPageTest.java
@@ -10,15 +10,19 @@
public class ProductPageTest extends BaseTest {
- @Test
+ @Test(
+ testName = "PRODUCT | Product Details",
+ description = "TC-03 Open Base URL"
+ )
public void testProduct() {
Allure.step("Open Base URL.");
getDriver().get(TestData.BASE_URL);
- ProductPage productPage = new HomePage(getDriver())
- .clickGearTopMenu()
- .clickBagsSideMenu()
- .clickProductImg(TestData.DRIVEN_BACKPACK_PRODUCT_NAME);
+ ProductPage productPage =
+ new HomePage(getDriver())
+ .clickGearTopMenu()
+ .clickBagsSideMenu()
+ .clickProductImg(TestData.DRIVEN_BACKPACK_PRODUCT_NAME);
final String productName = productPage.getProductNameText();
final String breadcrumbsMenuText = productPage.getBreadcrumbsMenuText();
diff --git a/src/test/java/com/lumatest/utils/DriverUtils.java b/src/test/java/com/lumatest/utils/DriverUtils.java
index 10cec68..baf4c95 100644
--- a/src/test/java/com/lumatest/utils/DriverUtils.java
+++ b/src/test/java/com/lumatest/utils/DriverUtils.java
@@ -1,5 +1,6 @@
package com.lumatest.utils;
+import java.util.Map;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
@@ -7,8 +8,6 @@
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxOptions;
-import java.util.Map;
-
public class DriverUtils {
private static final ChromeOptions chromeOptions;
private static final FirefoxOptions firefoxOptions;
From 3e24210342794e289fa0c22ccd96378a3bb33d56 Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Fri, 14 Jun 2024 18:59:24 -0400
Subject: [PATCH 05/33] add firefox testing
---
src/test/java/com/lumatest/base/BaseTest.java | 2 +-
testng.xml | 15 ++++++++-------
2 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/src/test/java/com/lumatest/base/BaseTest.java b/src/test/java/com/lumatest/base/BaseTest.java
index ea4cf69..15802fe 100644
--- a/src/test/java/com/lumatest/base/BaseTest.java
+++ b/src/test/java/com/lumatest/base/BaseTest.java
@@ -18,7 +18,7 @@ public abstract class BaseTest {
@BeforeSuite
protected void setupWebDriverManager() {
WebDriverManager.chromedriver().setup();
-// WebDriverManager.firefoxdriver().setup();
+ WebDriverManager.firefoxdriver().setup();
// WebDriverManager.edgedriver().setup();
// WebDriverManager.operadriver().setup();
// WebDriverManager.chromiumdriver().setup();
diff --git a/testng.xml b/testng.xml
index 3d42563..19d59ab 100644
--- a/testng.xml
+++ b/testng.xml
@@ -1,6 +1,6 @@
-
+
@@ -17,10 +17,11 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
\ No newline at end of file
From 67e5f7938c8e404da465c14c97e543be5b45dd42 Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Fri, 14 Jun 2024 19:11:34 -0400
Subject: [PATCH 06/33] add setup firefox action
---
.github/workflows/build.yml | 4 ++++
testng.xml | 15 ++++++++-------
2 files changed, 12 insertions(+), 7 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index bbea9f1..962055d 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -46,6 +46,10 @@ jobs:
- name: Build with Maven
run: mvn clean install -DskipTests=true
+ - name: Setup firefox
+ id: setup-firefox
+ uses: browser-actions/setup-firefox@v1
+
- name: Test with Maven
run: mvn test
diff --git a/testng.xml b/testng.xml
index 19d59ab..26f7f1a 100644
--- a/testng.xml
+++ b/testng.xml
@@ -17,11 +17,12 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
From 9b97b8eb8035580b221b1bf2909275adf94aba2e Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Fri, 14 Jun 2024 19:15:10 -0400
Subject: [PATCH 07/33] Update build.yml
---
.github/workflows/build.yml | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 962055d..dc0e9a5 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -46,10 +46,6 @@ jobs:
- name: Build with Maven
run: mvn clean install -DskipTests=true
- - name: Setup firefox
- id: setup-firefox
- uses: browser-actions/setup-firefox@v1
-
- name: Test with Maven
run: mvn test
@@ -97,4 +93,4 @@ jobs:
fetch-depth: 0
- name: Run java checkstyle
- uses: nikitasavinov/checkstyle-action@0.6.0
\ No newline at end of file
+ uses: nikitasavinov/checkstyle-action@0.6.0
From 0bbfdc15a6b09d9cd9caeda6c575611d8d2adb99 Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Fri, 14 Jun 2024 19:31:46 -0400
Subject: [PATCH 08/33] add test suits
---
pom.xml | 4 +++-
testng.xml => xmlSuiits/crossBrowser.xml | 8 --------
xmlSuiits/firefox.xml | 11 +++++++++++
xmlSuiits/regression.xml | 17 +++++++++++++++++
smoke.xml => xmlSuiits/smoke.xml | 1 -
5 files changed, 31 insertions(+), 10 deletions(-)
rename testng.xml => xmlSuiits/crossBrowser.xml (74%)
create mode 100644 xmlSuiits/firefox.xml
create mode 100644 xmlSuiits/regression.xml
rename smoke.xml => xmlSuiits/smoke.xml (99%)
diff --git a/pom.xml b/pom.xml
index 547d541..a22f6fb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -71,8 +71,10 @@
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
- testng.xml
+ crossBrowser.xml
smoke.xml
+ regression.xml
+ firefox.xml
diff --git a/testng.xml b/xmlSuiits/crossBrowser.xml
similarity index 74%
rename from testng.xml
rename to xmlSuiits/crossBrowser.xml
index 26f7f1a..809affb 100644
--- a/testng.xml
+++ b/xmlSuiits/crossBrowser.xml
@@ -17,12 +17,4 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/xmlSuiits/firefox.xml b/xmlSuiits/firefox.xml
new file mode 100644
index 0000000..9cfe841
--- /dev/null
+++ b/xmlSuiits/firefox.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xmlSuiits/regression.xml b/xmlSuiits/regression.xml
new file mode 100644
index 0000000..3edd2c3
--- /dev/null
+++ b/xmlSuiits/regression.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/smoke.xml b/xmlSuiits/smoke.xml
similarity index 99%
rename from smoke.xml
rename to xmlSuiits/smoke.xml
index b649ea3..fc94c17 100644
--- a/smoke.xml
+++ b/xmlSuiits/smoke.xml
@@ -8,7 +8,6 @@
-
From b83ffd9cd12f6632ebe7d8283ce8b968168c0da6 Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Fri, 14 Jun 2024 19:34:34 -0400
Subject: [PATCH 09/33] change firefox options
---
src/test/java/com/lumatest/utils/DriverUtils.java | 3 ---
1 file changed, 3 deletions(-)
diff --git a/src/test/java/com/lumatest/utils/DriverUtils.java b/src/test/java/com/lumatest/utils/DriverUtils.java
index baf4c95..cd4a22c 100644
--- a/src/test/java/com/lumatest/utils/DriverUtils.java
+++ b/src/test/java/com/lumatest/utils/DriverUtils.java
@@ -32,9 +32,6 @@ public class DriverUtils {
firefoxOptions.addArguments("--disable-gpu");
firefoxOptions.addArguments("--no-sandbox");
firefoxOptions.addArguments("--disable-dev-shm-usage");
- firefoxOptions.addArguments("--disable-web-security");
- firefoxOptions.addArguments("--allow-running-insecure-content");
- firefoxOptions.addArguments("--ignore-certificate-errors");
chromiumOptions = chromeOptions;
}
From 8e77e6418d45ae35af7a5079ea22befa1a632f57 Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Fri, 14 Jun 2024 19:39:35 -0400
Subject: [PATCH 10/33] fix errors
---
pom.xml | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/pom.xml b/pom.xml
index a22f6fb..eed3e87 100644
--- a/pom.xml
+++ b/pom.xml
@@ -71,10 +71,10 @@
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
- crossBrowser.xml
- smoke.xml
- regression.xml
- firefox.xml
+ xmlSuiits/crossBrowser.xml
+ xmlSuiits/smoke.xml
+ xmlSuiits/regression.xml
+ xmlSuiits/firefox.xml
From d60189ba68dfe19692bbf4ee0ba9051cdaea61ef Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Fri, 14 Jun 2024 19:50:09 -0400
Subject: [PATCH 11/33] Fix Errors
---
pom.xml | 3 ---
1 file changed, 3 deletions(-)
diff --git a/pom.xml b/pom.xml
index eed3e87..8635118 100644
--- a/pom.xml
+++ b/pom.xml
@@ -72,9 +72,6 @@
xmlSuiits/crossBrowser.xml
- xmlSuiits/smoke.xml
- xmlSuiits/regression.xml
- xmlSuiits/firefox.xml
From fe6175aca3e25a2423d717c70d9dfe625f22839c Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Fri, 14 Jun 2024 20:06:45 -0400
Subject: [PATCH 12/33] separate testing steps
---
.github/workflows/build.yml | 19 ++++++++++++++++---
src/test/java/FrameworkTest.java | 4 +---
{xmlSuiits => xmlSuits}/crossBrowser.xml | 3 +--
{xmlSuiits => xmlSuits}/firefox.xml | 2 +-
xmlSuits/framework.xml | 9 +++++++++
{xmlSuiits => xmlSuits}/regression.xml | 2 +-
{xmlSuiits => xmlSuits}/smoke.xml | 0
7 files changed, 29 insertions(+), 10 deletions(-)
rename {xmlSuiits => xmlSuits}/crossBrowser.xml (81%)
rename {xmlSuiits => xmlSuits}/firefox.xml (79%)
create mode 100644 xmlSuits/framework.xml
rename {xmlSuiits => xmlSuits}/regression.xml (92%)
rename {xmlSuiits => xmlSuits}/smoke.xml (100%)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index dc0e9a5..682ed84 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -46,8 +46,21 @@ jobs:
- name: Build with Maven
run: mvn clean install -DskipTests=true
- - name: Test with Maven
- run: mvn test
+ - name: Test Framework
+ run: mvn clean test -DtestSuite="Framework"
+
+ - name: Test All
+ if: ${{ matrix.os == 'ubuntu-latest' }}
+ run:
+ mvn clean test -DtestSuite="CrossBrowser"
+ mvn clean test -DtestSuite="Firefox"
+ mvn clean test -DtestSuite="Regression"
+ mvn clean test -DtestSuite="Smoke"
+
+ - name: Test All
+ if: ${{ matrix.os != 'ubuntu-latest' }}
+ run:
+ mvn clean test -DtestSuite="CrossBrowser"
- name: Dorny Test Reporter
uses: dorny/test-reporter@v1.9.1
@@ -93,4 +106,4 @@ jobs:
fetch-depth: 0
- name: Run java checkstyle
- uses: nikitasavinov/checkstyle-action@0.6.0
+ uses: nikitasavinov/checkstyle-action@0.6.0
\ No newline at end of file
diff --git a/src/test/java/FrameworkTest.java b/src/test/java/FrameworkTest.java
index aa0dcf5..026cb39 100644
--- a/src/test/java/FrameworkTest.java
+++ b/src/test/java/FrameworkTest.java
@@ -9,10 +9,8 @@ public void testPass() {
Assert.assertTrue(true);
}
- @Ignore
@Test
public void testFail() {
-
- Assert.assertTrue(false);
+ Assert.fail();
}
}
diff --git a/xmlSuiits/crossBrowser.xml b/xmlSuits/crossBrowser.xml
similarity index 81%
rename from xmlSuiits/crossBrowser.xml
rename to xmlSuits/crossBrowser.xml
index 809affb..735a0d0 100644
--- a/xmlSuiits/crossBrowser.xml
+++ b/xmlSuits/crossBrowser.xml
@@ -1,12 +1,11 @@
-
+
-
diff --git a/xmlSuiits/firefox.xml b/xmlSuits/firefox.xml
similarity index 79%
rename from xmlSuiits/firefox.xml
rename to xmlSuits/firefox.xml
index 9cfe841..6b63865 100644
--- a/xmlSuiits/firefox.xml
+++ b/xmlSuits/firefox.xml
@@ -1,6 +1,6 @@
-
+
diff --git a/xmlSuits/framework.xml b/xmlSuits/framework.xml
new file mode 100644
index 0000000..aaf100b
--- /dev/null
+++ b/xmlSuits/framework.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xmlSuiits/regression.xml b/xmlSuits/regression.xml
similarity index 92%
rename from xmlSuiits/regression.xml
rename to xmlSuits/regression.xml
index 3edd2c3..71e8589 100644
--- a/xmlSuiits/regression.xml
+++ b/xmlSuits/regression.xml
@@ -7,7 +7,7 @@
-
+
diff --git a/xmlSuiits/smoke.xml b/xmlSuits/smoke.xml
similarity index 100%
rename from xmlSuiits/smoke.xml
rename to xmlSuits/smoke.xml
From 7c18eaa471746b9cae95c077ce9b520648af7781 Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Fri, 14 Jun 2024 20:09:13 -0400
Subject: [PATCH 13/33] fix typo
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index 8635118..75fef6f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -71,7 +71,7 @@
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
- xmlSuiits/crossBrowser.xml
+ xmlSuits/crossBrowser.xml
From 5f78528324c7e7b37ebeb9b4939a5da8d7a6d85b Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Fri, 14 Jun 2024 20:14:36 -0400
Subject: [PATCH 14/33] fix .yml
---
.github/workflows/build.yml | 43 +++++++++++++++++--------------------
1 file changed, 20 insertions(+), 23 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 682ed84..be2a8fe 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -1,5 +1,5 @@
+---
name: Java CI with Maven
-
on:
pull_request:
branches: main
@@ -18,8 +18,11 @@ jobs:
strategy:
max-parallel: 4
matrix:
- os: [ ubuntu-latest, windows-latest, macos-latest ]
-
+ os:
+ - ubuntu-latest
+ - windows-latest
+ - macos-latest
+ -
runs-on: ${{ matrix.os }}
steps:
@@ -31,8 +34,8 @@ jobs:
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
- java-version: '17'
- distribution: 'corretto'
+ java-version: "17"
+ distribution: corretto
cache: maven
- name: Cache m2 dependencies
@@ -51,16 +54,13 @@ jobs:
- name: Test All
if: ${{ matrix.os == 'ubuntu-latest' }}
- run:
- mvn clean test -DtestSuite="CrossBrowser"
- mvn clean test -DtestSuite="Firefox"
- mvn clean test -DtestSuite="Regression"
- mvn clean test -DtestSuite="Smoke"
+ run: mvn clean test -DtestSuite="CrossBrowser" mvn clean test
+ -DtestSuite="Firefox" mvn clean test -DtestSuite="Regression" mvn
+ clean test -DtestSuite="Smoke"
- - name: Test All
- if: ${{ matrix.os != 'ubuntu-latest' }}
- run:
- mvn clean test -DtestSuite="CrossBrowser"
+ - name: Test Cross Browser
+ if: ${{ matrix.os != 'ubuntu-latest' }}
+ run: mvn clean test -DtestSuite="CrossBrowser"
- name: Dorny Test Reporter
uses: dorny/test-reporter@v1.9.1
@@ -96,14 +96,11 @@ jobs:
check-java-code-style:
name: Check Java code style
-
runs-on: ubuntu-latest
-
steps:
- - name: Clone code from repo
- uses: actions/checkout@v4
- with:
- fetch-depth: 0
-
- - name: Run java checkstyle
- uses: nikitasavinov/checkstyle-action@0.6.0
\ No newline at end of file
+ - name: Clone code from repo
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+ - name: Run java checkstyle
+ uses: nikitasavinov/checkstyle-action@0.6.0
From c0b1e3cf2433866fb62fdbff97fda1923fe41356 Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Fri, 14 Jun 2024 20:16:34 -0400
Subject: [PATCH 15/33] Update build.yml
---
.github/workflows/build.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index be2a8fe..836fc8c 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -22,7 +22,7 @@ jobs:
- ubuntu-latest
- windows-latest
- macos-latest
- -
+
runs-on: ${{ matrix.os }}
steps:
From f60200cf30ea672773f85c86f46d02c8da707b92 Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Fri, 14 Jun 2024 20:35:03 -0400
Subject: [PATCH 16/33] Separate FirefoxTest
---
.github/workflows/build.yml | 13 +++++--------
pom.xml | 3 +++
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 836fc8c..f8f9096 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -52,15 +52,12 @@ jobs:
- name: Test Framework
run: mvn clean test -DtestSuite="Framework"
- - name: Test All
- if: ${{ matrix.os == 'ubuntu-latest' }}
- run: mvn clean test -DtestSuite="CrossBrowser" mvn clean test
- -DtestSuite="Firefox" mvn clean test -DtestSuite="Regression" mvn
- clean test -DtestSuite="Smoke"
+ - name: Test with Maven
+ run: mvn clean test
- - name: Test Cross Browser
- if: ${{ matrix.os != 'ubuntu-latest' }}
- run: mvn clean test -DtestSuite="CrossBrowser"
+ - name: Test Firefox
+ if: ${{ matrix.os == 'ubuntu-latest' }}
+ run: mvn clean test -DtestSuite="FirefoxTest"
- name: Dorny Test Reporter
uses: dorny/test-reporter@v1.9.1
diff --git a/pom.xml b/pom.xml
index 75fef6f..d3048b6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -72,6 +72,9 @@
xmlSuits/crossBrowser.xml
+ xmlSuits/framework.xml
+ xmlSuits/regression.xml
+ xmlSuits/smoke.xml
From 96466bd87852dedb6b8edfe84786afc0540fe12e Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Fri, 14 Jun 2024 20:57:35 -0400
Subject: [PATCH 17/33] change test order
---
.github/workflows/build.yml | 6 +++---
src/test/java/FrameworkTest.java | 1 +
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index f8f9096..4d59223 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -47,17 +47,17 @@ jobs:
${{ runner.os }}-maven-
- name: Build with Maven
- run: mvn clean install -DskipTests=true
+ run: mvn clean install skipTests=true
- name: Test Framework
- run: mvn clean test -DtestSuite="Framework"
+ run: mvn -Dtest=testPass test
- name: Test with Maven
run: mvn clean test
- name: Test Firefox
if: ${{ matrix.os == 'ubuntu-latest' }}
- run: mvn clean test -DtestSuite="FirefoxTest"
+ run: mvn clean -DtestSuite="FirefoxTest" test
- name: Dorny Test Reporter
uses: dorny/test-reporter@v1.9.1
diff --git a/src/test/java/FrameworkTest.java b/src/test/java/FrameworkTest.java
index 026cb39..104fc34 100644
--- a/src/test/java/FrameworkTest.java
+++ b/src/test/java/FrameworkTest.java
@@ -9,6 +9,7 @@ public void testPass() {
Assert.assertTrue(true);
}
+ @Ignore
@Test
public void testFail() {
Assert.fail();
From 26838b3b4dab0a7989d5c54b5e204d3d58d24a02 Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Fri, 14 Jun 2024 21:15:24 -0400
Subject: [PATCH 18/33] update .yml
---
.github/workflows/build.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 4d59223..c86b780 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -47,7 +47,7 @@ jobs:
${{ runner.os }}-maven-
- name: Build with Maven
- run: mvn clean install skipTests=true
+ run: mvn clean install -Dmaven.test.skip=true
- name: Test Framework
run: mvn -Dtest=testPass test
From f359c3038d53a9d91288573c39efff87de8551a6 Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Fri, 14 Jun 2024 21:19:26 -0400
Subject: [PATCH 19/33] update .yml
---
.github/workflows/build.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index c86b780..c88d690 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -47,7 +47,7 @@ jobs:
${{ runner.os }}-maven-
- name: Build with Maven
- run: mvn clean install -Dmaven.test.skip=true
+ run: mvn clean install `-Dmaven.test.skip=true
- name: Test Framework
run: mvn -Dtest=testPass test
From 92d6ce98b10306f26e3a22e502bb6878d2a113cd Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Fri, 14 Jun 2024 21:29:30 -0400
Subject: [PATCH 20/33] Add skip test
---
.github/workflows/build.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index c88d690..67f742a 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -47,7 +47,7 @@ jobs:
${{ runner.os }}-maven-
- name: Build with Maven
- run: mvn clean install `-Dmaven.test.skip=true
+ run: mvn clean compile package -Dmaven.test.skip=true
- name: Test Framework
run: mvn -Dtest=testPass test
From 3a88ed59bb5f2c3269dfd3096ad159620d21c0bf Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Fri, 14 Jun 2024 21:35:00 -0400
Subject: [PATCH 21/33] Add skip test
---
.github/workflows/build.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 67f742a..6970afe 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -50,7 +50,7 @@ jobs:
run: mvn clean compile package -Dmaven.test.skip=true
- name: Test Framework
- run: mvn -Dtest=testPass test
+ run: mvn test -Dtest=FrameworkTest
- name: Test with Maven
run: mvn clean test
From 57014224b5d23ac5a4786fc4bdbccd822a892100 Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Fri, 14 Jun 2024 21:48:53 -0400
Subject: [PATCH 22/33] Add skip test
---
.github/workflows/build.yml | 4 ++--
pom.xml | 3 +++
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 6970afe..9d18752 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -50,10 +50,10 @@ jobs:
run: mvn clean compile package -Dmaven.test.skip=true
- name: Test Framework
- run: mvn test -Dtest=FrameworkTest
+ run: mvn clean test -Dtest=FrameworkTest
- name: Test with Maven
- run: mvn clean test
+ run: mvn clean package -Dmaven.test.skip=false test
- name: Test Firefox
if: ${{ matrix.os == 'ubuntu-latest' }}
diff --git a/pom.xml b/pom.xml
index d3048b6..07cee26 100644
--- a/pom.xml
+++ b/pom.xml
@@ -17,6 +17,8 @@
2.24.0
1.9.20.1
+
+ false
@@ -67,6 +69,7 @@
maven-surefire-plugin
3.2.5
+ ${tests.skip}
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
From 48d872a042441ebd7908cd4ff7d5ec663c7347d0 Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Fri, 14 Jun 2024 21:55:02 -0400
Subject: [PATCH 23/33] Add skip test
---
.github/workflows/build.yml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 9d18752..a1274ad 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -55,9 +55,9 @@ jobs:
- name: Test with Maven
run: mvn clean package -Dmaven.test.skip=false test
- - name: Test Firefox
- if: ${{ matrix.os == 'ubuntu-latest' }}
- run: mvn clean -DtestSuite="FirefoxTest" test
+# - name: Test Firefox
+# if: ${{ matrix.os == 'ubuntu-latest' }}
+# run: mvn clean -DtestSuite="FirefoxTest" test
- name: Dorny Test Reporter
uses: dorny/test-reporter@v1.9.1
From a0c8713ecb367fd5c5f8dd61a1e6346daf9787c0 Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Fri, 14 Jun 2024 22:02:32 -0400
Subject: [PATCH 24/33] Add skip test
---
.github/workflows/build.yml | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index a1274ad..498f5a0 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -47,17 +47,24 @@ jobs:
${{ runner.os }}-maven-
- name: Build with Maven
- run: mvn clean compile package -Dmaven.test.skip=true
+ if: ${{ matrix.os == 'ubuntu-latest' }}
+ run: mvn clean compile package -e -Dmaven.test.skip=true
- name: Test Framework
+ if: ${{ matrix.os == 'ubuntu-latest' }}
run: mvn clean test -Dtest=FrameworkTest
- name: Test with Maven
- run: mvn clean package -Dmaven.test.skip=false test
+ if: ${{ matrix.os == 'ubuntu-latest' }}
+ run: mvn clean test
+
+ - name: Test with Maven
+ if: ${{ matrix.os != 'ubuntu-latest' }}
+ run: mvn -B package --file pom.xml
-# - name: Test Firefox
-# if: ${{ matrix.os == 'ubuntu-latest' }}
-# run: mvn clean -DtestSuite="FirefoxTest" test
+ - name: Test Firefox
+ if: ${{ matrix.os == 'ubuntu-latest' }}
+ run: mvn clean -DtestSuite="FirefoxTest" test
- name: Dorny Test Reporter
uses: dorny/test-reporter@v1.9.1
From cc15bd1c53ed1ce7ea0dcfafa6a6167931c35c9f Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Fri, 14 Jun 2024 22:05:14 -0400
Subject: [PATCH 25/33] Add skip test
---
.github/workflows/build.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 498f5a0..22bb5d5 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -59,8 +59,8 @@ jobs:
run: mvn clean test
- name: Test with Maven
- if: ${{ matrix.os != 'ubuntu-latest' }}
- run: mvn -B package --file pom.xml
+ if: ${{ matrix.os != 'ubuntu-latest' }}
+ run: mvn -B package --file pom.xml
- name: Test Firefox
if: ${{ matrix.os == 'ubuntu-latest' }}
From 2f0961bdf3c0c9bf5675d4aa5577a58a23454bb8 Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Fri, 14 Jun 2024 22:10:04 -0400
Subject: [PATCH 26/33] Add skip test
---
.github/workflows/build.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 22bb5d5..d511921 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -64,7 +64,7 @@ jobs:
- name: Test Firefox
if: ${{ matrix.os == 'ubuntu-latest' }}
- run: mvn clean -DtestSuite="FirefoxTest" test
+ run: mvn clean -DtestSuite=FirefoxTest test
- name: Dorny Test Reporter
uses: dorny/test-reporter@v1.9.1
From c7384a7754d1c087b85251e577bf10cd8613dfd2 Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Fri, 14 Jun 2024 23:16:25 -0400
Subject: [PATCH 27/33] Add test Suit Name
---
.github/workflows/build.yml | 8 ++++----
pom.xml | 1 -
src/test/java/com/lumatest/base/BaseTest.java | 11 +++++------
src/test/java/com/lumatest/data/TestData.java | 1 +
src/test/java/com/lumatest/test/ProductPageTest.java | 10 ++++++++--
xmlSuits/framework.xml | 9 ---------
xmlSuits/regression.xml | 2 +-
7 files changed, 19 insertions(+), 23 deletions(-)
delete mode 100644 xmlSuits/framework.xml
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index d511921..5777306 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -58,14 +58,14 @@ jobs:
if: ${{ matrix.os == 'ubuntu-latest' }}
run: mvn clean test
+ - name: Test Firefox
+ if: ${{ matrix.os == 'ubuntu-latest' }}
+ run: mvn clean test -Dsurefire.suiteXmlFiles=xmlSuits/firefox.xml
+
- name: Test with Maven
if: ${{ matrix.os != 'ubuntu-latest' }}
run: mvn -B package --file pom.xml
- - name: Test Firefox
- if: ${{ matrix.os == 'ubuntu-latest' }}
- run: mvn clean -DtestSuite=FirefoxTest test
-
- name: Dorny Test Reporter
uses: dorny/test-reporter@v1.9.1
if: success() || failure()
diff --git a/pom.xml b/pom.xml
index 07cee26..ef86271 100644
--- a/pom.xml
+++ b/pom.xml
@@ -75,7 +75,6 @@
xmlSuits/crossBrowser.xml
- xmlSuits/framework.xml
xmlSuits/regression.xml
xmlSuits/smoke.xml
diff --git a/src/test/java/com/lumatest/base/BaseTest.java b/src/test/java/com/lumatest/base/BaseTest.java
index 15802fe..adc5744 100644
--- a/src/test/java/com/lumatest/base/BaseTest.java
+++ b/src/test/java/com/lumatest/base/BaseTest.java
@@ -4,13 +4,10 @@
import com.lumatest.utils.ReportUtils;
import io.github.bonigarcia.wdm.WebDriverManager;
import org.openqa.selenium.WebDriver;
+import org.testng.ITestContext;
import org.testng.ITestResult;
import org.testng.Reporter;
-import org.testng.annotations.BeforeMethod;
-import org.testng.annotations.BeforeSuite;
-import org.testng.annotations.Optional;
-import org.testng.annotations.Parameters;
-import org.testng.annotations.AfterMethod;
+import org.testng.annotations.*;
public abstract class BaseTest {
private WebDriver driver;
@@ -27,8 +24,10 @@ protected void setupWebDriverManager() {
@Parameters("browser")
@BeforeMethod(alwaysRun = true)
- protected void setupDriver(@Optional("chrome") String browser, ITestResult result) {
+ protected void setupDriver(@Optional("chrome") String browser, ITestContext context, ITestResult result) {
Reporter.log("______________________________________________________________________", true);
+
+ Reporter.log("TEST SUIT: " + context.getCurrentXmlTest().getSuite().getName(), true);
Reporter.log("RUN " + result.getMethod().getMethodName(), true);
this.driver = DriverUtils.createDriver(browser, this.driver);
diff --git a/src/test/java/com/lumatest/data/TestData.java b/src/test/java/com/lumatest/data/TestData.java
index 9b23f6f..e18982b 100644
--- a/src/test/java/com/lumatest/data/TestData.java
+++ b/src/test/java/com/lumatest/data/TestData.java
@@ -28,6 +28,7 @@ public static Object[][] getNavMenuData() {
}
//ProductPage
+ public static final String DRIVEN_BACKPACK_PRODUCT_URL = BASE_URL + "/driven-backpack.html";
public static final String DRIVEN_BACKPACK_PRODUCT_NAME = "Driven Backpack";
public static final String DRIVEN_BACKPACK_PRODUCT_PAGE_BREADCRUMBS_MENU = "Home Gear Bags Driven Backpack";
}
diff --git a/src/test/java/com/lumatest/test/ProductPageTest.java b/src/test/java/com/lumatest/test/ProductPageTest.java
index ebc0f06..af94808 100644
--- a/src/test/java/com/lumatest/test/ProductPageTest.java
+++ b/src/test/java/com/lumatest/test/ProductPageTest.java
@@ -4,7 +4,7 @@
import com.lumatest.data.TestData;
import com.lumatest.model.HomePage;
import com.lumatest.model.ProductPage;
-import io.qameta.allure.Allure;
+import io.qameta.allure.*;
import org.testng.Assert;
import org.testng.annotations.Test;
@@ -12,8 +12,14 @@ public class ProductPageTest extends BaseTest {
@Test(
testName = "PRODUCT | Product Details",
- description = "TC-03 Open Base URL"
+ description = "TC-03 Verify Product Details on Product Page",
+ groups = {"regression"}
)
+ @Story("Product Details")
+ @Severity(SeverityLevel.NORMAL)
+ @Description("To verify that the product page displays the correct product name and breadcrumb menu text " +
+ "for the 'Driven Backpack'.")
+ @Link(TestData.DRIVEN_BACKPACK_PRODUCT_URL)
public void testProduct() {
Allure.step("Open Base URL.");
getDriver().get(TestData.BASE_URL);
diff --git a/xmlSuits/framework.xml b/xmlSuits/framework.xml
deleted file mode 100644
index aaf100b..0000000
--- a/xmlSuits/framework.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/xmlSuits/regression.xml b/xmlSuits/regression.xml
index 71e8589..27dff91 100644
--- a/xmlSuits/regression.xml
+++ b/xmlSuits/regression.xml
@@ -7,7 +7,7 @@
-
+
From 70d071e92081a850dcdee794a6acf4683fa82d82 Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Fri, 14 Jun 2024 23:38:08 -0400
Subject: [PATCH 28/33] update .yml
---
.github/workflows/build.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 5777306..6d06bb9 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -48,7 +48,7 @@ jobs:
- name: Build with Maven
if: ${{ matrix.os == 'ubuntu-latest' }}
- run: mvn clean compile package -e -Dmaven.test.skip=true
+ run: mvn clean -e install -Dmaven.test.skip=true
- name: Test Framework
if: ${{ matrix.os == 'ubuntu-latest' }}
From 110b09fcf268f371a88d1b7aca47db809cfd3de3 Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Fri, 14 Jun 2024 23:45:00 -0400
Subject: [PATCH 29/33] update .yml
---
.github/workflows/build.yml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 6d06bb9..7b4416e 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -56,13 +56,13 @@ jobs:
- name: Test with Maven
if: ${{ matrix.os == 'ubuntu-latest' }}
- run: mvn clean test
+ run: mvn test
- name: Test Firefox
if: ${{ matrix.os == 'ubuntu-latest' }}
- run: mvn clean test -Dsurefire.suiteXmlFiles=xmlSuits/firefox.xml
+ run: mvn test -Dsurefire.suiteXmlFiles=xmlSuits/firefox.xml
- - name: Test with Maven
+ - name: Build and Test with Maven
if: ${{ matrix.os != 'ubuntu-latest' }}
run: mvn -B package --file pom.xml
From 2d25b667905d219a309aff478155e5f5c22c9adb Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Sat, 15 Jun 2024 00:16:21 -0400
Subject: [PATCH 30/33] RRemove parallel from cross browser
---
xmlSuits/crossBrowser.xml | 2 +-
xmlSuits/regression.xml | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/xmlSuits/crossBrowser.xml b/xmlSuits/crossBrowser.xml
index 735a0d0..df67746 100644
--- a/xmlSuits/crossBrowser.xml
+++ b/xmlSuits/crossBrowser.xml
@@ -1,6 +1,6 @@
-
+
diff --git a/xmlSuits/regression.xml b/xmlSuits/regression.xml
index 27dff91..81b333a 100644
--- a/xmlSuits/regression.xml
+++ b/xmlSuits/regression.xml
@@ -1,6 +1,6 @@
-
+
From 7373a0482f6fa08db85f395506ba56113d0a2af2 Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Sat, 15 Jun 2024 01:49:10 -0400
Subject: [PATCH 31/33] Add ThreadLocal for testing in parallel
---
.github/workflows/build.yml | 20 +++++++++++++------
pom.xml | 2 +-
src/test/java/com/lumatest/base/BaseTest.java | 15 ++++++++++----
xmlSuits/chrome.xml | 11 ++++++++++
xmlSuits/chromium.xml | 11 ++++++++++
xmlSuits/crossBrowser.xml | 10 +++++++++-
xmlSuits/regression.xml | 2 +-
xmlSuits/smoke.xml | 2 +-
8 files changed, 59 insertions(+), 14 deletions(-)
create mode 100644 xmlSuits/chrome.xml
create mode 100644 xmlSuits/chromium.xml
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 7b4416e..efdb477 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -54,13 +54,21 @@ jobs:
if: ${{ matrix.os == 'ubuntu-latest' }}
run: mvn clean test -Dtest=FrameworkTest
- - name: Test with Maven
+ - name: Cross Browser Testing
if: ${{ matrix.os == 'ubuntu-latest' }}
- run: mvn test
-
- - name: Test Firefox
- if: ${{ matrix.os == 'ubuntu-latest' }}
- run: mvn test -Dsurefire.suiteXmlFiles=xmlSuits/firefox.xml
+ run: mvn test -Dsurefire.suiteXmlFiles=xmlSuits/crossBrowser.xml
+
+# - name: Test Chrome
+# if: ${{ matrix.os == 'ubuntu-latest' }}
+# run: mvn test -Dsurefire.suiteXmlFiles=xmlSuits/chrome.xml
+#
+# - name: Test Chromium
+# if: ${{ matrix.os == 'ubuntu-latest' }}
+# run: mvn test -Dsurefire.suiteXmlFiles=xmlSuits/chromium.xml
+#
+# - name: Test Firefox
+# if: ${{ matrix.os == 'ubuntu-latest' }}
+# run: mvn test -Dsurefire.suiteXmlFiles=xmlSuits/firefox.xml
- name: Build and Test with Maven
if: ${{ matrix.os != 'ubuntu-latest' }}
diff --git a/pom.xml b/pom.xml
index ef86271..443b8b0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -74,9 +74,9 @@
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
+ xmlSuits/smoke.xml
xmlSuits/crossBrowser.xml
xmlSuits/regression.xml
- xmlSuits/smoke.xml
diff --git a/src/test/java/com/lumatest/base/BaseTest.java b/src/test/java/com/lumatest/base/BaseTest.java
index adc5744..b9b26fa 100644
--- a/src/test/java/com/lumatest/base/BaseTest.java
+++ b/src/test/java/com/lumatest/base/BaseTest.java
@@ -11,6 +11,7 @@
public abstract class BaseTest {
private WebDriver driver;
+ private final ThreadLocal threadLocalDriver = new ThreadLocal<>();
@BeforeSuite
protected void setupWebDriverManager() {
@@ -27,11 +28,13 @@ protected void setupWebDriverManager() {
protected void setupDriver(@Optional("chrome") String browser, ITestContext context, ITestResult result) {
Reporter.log("______________________________________________________________________", true);
+ this.driver = DriverUtils.createDriver(browser, this.driver);
+ this.threadLocalDriver.set(driver);
+
+ Reporter.log("Test Thread ID: " + Thread.currentThread().getId(), true);
Reporter.log("TEST SUIT: " + context.getCurrentXmlTest().getSuite().getName(), true);
Reporter.log("RUN " + result.getMethod().getMethodName(), true);
- this.driver = DriverUtils.createDriver(browser, this.driver);
-
if (getDriver() == null) {
Reporter.log("ERROR: Unknown parameter 'browser' - '" + browser + "'.", true);
@@ -51,13 +54,17 @@ protected void tearDown(@Optional("chrome") String browser, ITestResult result)
getDriver().quit();
Reporter.log("INFO: " + browser.toUpperCase() + " driver closed.", true);
- this.driver = null;
+ Reporter.log("After Test Thread ID: " + Thread.currentThread().getId(), true);
+ threadLocalDriver.remove();
+
+ driver = null;
+
} else {
Reporter.log("INFO: Driver is null.", true);
}
}
protected WebDriver getDriver() {
- return this.driver;
+ return threadLocalDriver.get();
}
}
diff --git a/xmlSuits/chrome.xml b/xmlSuits/chrome.xml
new file mode 100644
index 0000000..5d3a58f
--- /dev/null
+++ b/xmlSuits/chrome.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xmlSuits/chromium.xml b/xmlSuits/chromium.xml
new file mode 100644
index 0000000..690cbc9
--- /dev/null
+++ b/xmlSuits/chromium.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xmlSuits/crossBrowser.xml b/xmlSuits/crossBrowser.xml
index df67746..e34467b 100644
--- a/xmlSuits/crossBrowser.xml
+++ b/xmlSuits/crossBrowser.xml
@@ -1,6 +1,6 @@
-
+
@@ -16,4 +16,12 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xmlSuits/regression.xml b/xmlSuits/regression.xml
index 81b333a..eb8a00b 100644
--- a/xmlSuits/regression.xml
+++ b/xmlSuits/regression.xml
@@ -1,6 +1,6 @@
-
+
diff --git a/xmlSuits/smoke.xml b/xmlSuits/smoke.xml
index fc94c17..db83632 100644
--- a/xmlSuits/smoke.xml
+++ b/xmlSuits/smoke.xml
@@ -1,6 +1,6 @@
-
+
From d4a69497d70afbde8678f3a763bcbca4636ace86 Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Sat, 15 Jun 2024 01:55:56 -0400
Subject: [PATCH 32/33] Add ThreadLocal for testing in parallel
---
.github/workflows/build.yml | 14 +-------------
pom.xml | 3 ++-
2 files changed, 3 insertions(+), 14 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index efdb477..7f9f9ff 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -1,4 +1,4 @@
----
+#Cross Platform, Cross Browser test Run in parallel execution
name: Java CI with Maven
on:
pull_request:
@@ -58,18 +58,6 @@ jobs:
if: ${{ matrix.os == 'ubuntu-latest' }}
run: mvn test -Dsurefire.suiteXmlFiles=xmlSuits/crossBrowser.xml
-# - name: Test Chrome
-# if: ${{ matrix.os == 'ubuntu-latest' }}
-# run: mvn test -Dsurefire.suiteXmlFiles=xmlSuits/chrome.xml
-#
-# - name: Test Chromium
-# if: ${{ matrix.os == 'ubuntu-latest' }}
-# run: mvn test -Dsurefire.suiteXmlFiles=xmlSuits/chromium.xml
-#
-# - name: Test Firefox
-# if: ${{ matrix.os == 'ubuntu-latest' }}
-# run: mvn test -Dsurefire.suiteXmlFiles=xmlSuits/firefox.xml
-
- name: Build and Test with Maven
if: ${{ matrix.os != 'ubuntu-latest' }}
run: mvn -B package --file pom.xml
diff --git a/pom.xml b/pom.xml
index 443b8b0..b77b7e3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -75,7 +75,8 @@
xmlSuits/smoke.xml
- xmlSuits/crossBrowser.xml
+ xmlSuits/chrome.xml
+ xmlSuits/chromium.xml
xmlSuits/regression.xml
From cdbda036de4174abb4567da4f7a9952e101354ac Mon Sep 17 00:00:00 2001
From: ArinaJur <66705803+ArinaJur@users.noreply.github.com>
Date: Sat, 15 Jun 2024 02:03:58 -0400
Subject: [PATCH 33/33] Add ThreadLocal for testing in parallel
---
xmlSuits/crossBrowser.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/xmlSuits/crossBrowser.xml b/xmlSuits/crossBrowser.xml
index e34467b..6df7812 100644
--- a/xmlSuits/crossBrowser.xml
+++ b/xmlSuits/crossBrowser.xml
@@ -1,6 +1,6 @@
-
+