diff --git a/src/main/java/org/miteshdandade/pageobjects/ProductCatalogue.java b/src/main/java/org/miteshdandade/pageobjects/ProductCatalogue.java index afd562a..649d16f 100644 --- a/src/main/java/org/miteshdandade/pageobjects/ProductCatalogue.java +++ b/src/main/java/org/miteshdandade/pageobjects/ProductCatalogue.java @@ -48,12 +48,11 @@ public WebElement getProductByName(String productName) public void addProductToCart(String productName) { - WebElement prod = getProductByName(productName); - prod.findElement(addToCart).click(); + By productAddToCart = By.xpath("//div[contains(@class,'mb-3') and .//b[text()='" + productName + "']]//button[last()]"); + waitForElementToAppear(productAddToCart); + driver.findElement(productAddToCart).click(); waitForElementToAppear(toastMessage); waitForElementToDisappear(spinner); - - } } diff --git a/src/test/java/org/miteshdandade/tests/StandAloneTest.java b/src/test/java/org/miteshdandade/tests/StandAloneTest.java index 47f857b..2a3c301 100644 --- a/src/test/java/org/miteshdandade/tests/StandAloneTest.java +++ b/src/test/java/org/miteshdandade/tests/StandAloneTest.java @@ -28,11 +28,7 @@ public static void main(String[] args) { driver.findElement(By.id("login")).click(); WebDriverWait wait = new WebDriverWait(driver,Duration.ofSeconds(5)); wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector(".mb-3"))); - List products = driver.findElements(By.cssSelector(".mb-3")); - - WebElement prod = products.stream().filter(product-> - product.findElement(By.cssSelector("b")).getText().equals(productName)).findFirst().orElse(null); - prod.findElement(By.cssSelector(".card-body button:last-of-type")).click(); + driver.findElement(By.xpath("//div[contains(@class,'mb-3') and .//b[text()='" + productName + "']]//button[last()]")).click(); wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("#toast-container")));