selenium - 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:
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.
解决方案
尝试Assert.assertTrue
使用contains
.
Assert.assertTrue(element.contains("10:45"));
通过这种方式将检查文本“10:45”是否存在元素文本字符串。
推荐阅读
- javascript - 使用按值嵌套的数组过滤对象数组
- python - 带有标签和移动电子邮件的 Python GMail 代码行为异常
- node.js - 无法安装反应导航堆栈
- spring - 如何禁用/启用 - 使用 Spring 引导配置文件的 Confluent KAFKA 拦截器?
- epplus - epplus 在发送到浏览器时向范围获取部分添加值已存在
- flutter - 框架 Flutter 和 JUCE 之间的桥梁
- angularjs - AngularJS 1.8x 你如何在一个组件中 $cancelRequest?
- javascript - 地图功能在我的带有 Javascript 的 Json 文件中不起作用
- kotlin - 如何过滤格式化为日期的字符串部分?
- python - Python - 标识字符串开头和结尾的字符