首页 > 解决方案 > Assertion in Selenium - TestNG

问题描述

I am trying to check using assertion whether the highlighted value in the image is same as the value I gave:

snap

Below is the code:

WebDriverWait wait = new WebDriverWait(driver, 60);
WebElement element1 = wait
    .until(ExpectedConditions.visibilityOfElementLocated(By
        .xpath("//*[@id='tabpanel-t0-2']/tpr-summary-page/ion-content/div[2]/div/div[2]/div/ion-card/ion-row[1]/ion-col/ion-row[2]")));
String element = driver
    .findElement(
        By.xpath("//*[@id='tabpanel-t0-2']/tpr-summary-page/ion-content/div[2]/div/div[2]/div/ion-card/ion-row[1]/ion-col/ion-row[2]"))
    .getText();

Assert.assertEquals("10:45", element);

But I am getting below error:

Exception in thread "main" java.lang.AssertionError: expected [11:21 AM  to  Clock-out
In Progress] but found [10:45]
    at org.testng.Assert.fail(Assert.java:96)
    at org.testng.Assert.failNotEquals(Assert.java:776)
    at org.testng.Assert.assertEqualsImpl(Assert.java:137)
    at org.testng.Assert.assertEquals(Assert.java:118)
    at org.testng.Assert.assertEquals(Assert.java:453)
    at org.testng.Assert.assertEquals(Assert.java:463)
    at pulse.tpr.LoginInterface.rightNowToClockout(LoginInterface.java:172)
    at pulse.tpr.LoginInterface.main(LoginInterface.java:182)

I am new to Selenium and Java, so any help would be appreciable.

标签: selenium

解决方案


尝试Assert.assertTrue使用contains.

Assert.assertTrue(element.contains("10:45"));

通过这种方式将检查文本“10:45”是否存在元素文本字符串。


推荐阅读