我有一个页面,我知道在某个xpath包含某个文本。在firefox中,我使用以下代码断言文本存在:
assertEquals("specific text", driver.findElement(By.xpath("xpath)).getText());
我在表单中声明第2步并确认已在表单中添加了某个附件。 但是,当我在Chrome中使用相同的代码时,显示的输出不同,但确实包含特定文本。我收到以下错误:
org.junit.ComparisonFailure: expected:<[]specific text> but was:<[C:\fakepath\]specific text>
而不是断言某些东西是真的(正是我正在寻找的东西)我想写下这样的东西:
assert**Contains**("specific text", driver.findElement(By.xpath("xpath)).getText());
上面的代码显然不起作用,但我找不到如何完成这项工作。
使用Eclipse,Selenium WebDriver和Java
答案 0 :(得分:13)
使用:
String actualString = driver.findElement(By.xpath("xpath")).getText();
assertTrue(actualString.contains("specific text"));
您还可以使用assertEquals
:
String s = "PREFIXspecific text";
assertEquals("specific text", s.substring(s.length()-"specific text".length()));
忽略字符串中不需要的前缀。
答案 1 :(得分:1)
可以使用两个方法assertEquals和assertTrue。 这是用法
String actualString = driver.findElement(By.xpath("xpath")).getText();
String expectedString = "ExpectedString";
assertTrue(actualString.contains(expectedString));
答案 2 :(得分:0)
您也可以使用此
String actualString = driver.findElement(By.xpath(“xpath”))。getText(); Assert.assertTrue(actualString.contains(“specific text”));