Exception in thread "main" java.lang.AssertionError: expected [true] but found [false]

Viewed 55

This is my code

public class testcase {
public static void main(String[] args)  {
String productName = "ADIDAS ORIGINAL";
WebDriverManager.chromedriver().setup();
WebDriver driver= new ChromeDriver();
driver.get("https://rahulshettyacademy.com/client");
driver.manage().window().maximize();
driver.findElement(By.id("userEmail")).sendKeys("lavi123@gmail.com");
driver.findElement(By.id("userPassword")).sendKeys("Shaanvi@2108");
driver.findElement(By.id("login")).click();
WebDriverWait wait= new WebDriverWait(driver,Duration.ofSeconds(5));
wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector(".mb-3")));
List<WebElement> 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();
wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("#toast-container")));
wait.until(ExpectedConditions.invisibilityOf(driver.findElement(By.cssSelector(".ng-animating"))));
driver.findElement(By.cssSelector("[routerlink*=\"cart\"]")).click();
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[contains(text(), 'My Cart')]")));
List<WebElement> cart = driver.findElements(By.cssSelector(".cartSection h3"));
Boolean match1 = cart.stream().anyMatch(cartpro->cartpro.getText().equalsIgnoreCase(productName));
Assert.assertTrue(match1);
driver.findElement(By.cssSelector(".totalRow button")).click();
}
}

Explanation below:

I'm trying to access a ecommerce website and adding few items under the cart verifying if the correct products are displayed

When executing I'm getting the below error:

 Exception in thread "main" java.lang.AssertionError: expected [true] but found [false]
  at org.testng.Assert.fail(Assert.java:110)
  at org.testng.Assert.failNotEquals(Assert.java:1413)
  at org.testng.Assert.assertTrue(Assert.java:56)
  at org.testng.Assert.assertTrue(Assert.java:66)
  at Website.testcase.main(testcase.java:52)
    

Tried debugging where it returns "true" for boolean match1 but executing on assert.assertTrue(match1) line.

0 Answers
Related