2017-02-16 51 views
1

我试图断言两个字符串。但即使字符串相同,测试用例也会失败。以下是我写的:在硒中断言

String actualmsg="My expected string"; 
String errormsg = driver.findelement(By.xpath("xpath of the element")).getText(); 
Assert.assertEquals(actualmsg, errormsg); 

当我在控制台上打印errormsg时,它会给出与realmsg相同的字符串。请帮忙。

+0

你确定**完全相同吗?在他们每个人没有尾随或领先的白色空间? “我的预期字符串”和“我的预期字符串”不一样。所以作为“我期望的字符串”和“我的预期字符串” – Guy

+2

我认为断言不是Selenium,而是JUnit或TestNG或其他测试框架(您可能想要指定使用哪一个)。无论如何,如果你确定这些字符串是相等的,那么你可能会在控制台中看不到某些前导空间或尾随空间。尝试'Assert.assertEquals(actualmsg.trim(),errormsg.trim());' – SantiBailors

+1

您可以共享日志/调试消息以确定两个字符串是否相同。还要共享“Assert”类所属框架的细节。 – Anuragh27crony

回答

0

使用Hamcrest断言来比较你将得到的结果在异常中是不匹配的。

您使用:

assertThat(actualmsg,是(ERRORMSG));