我有一个页面,我知道在某个xpath包含某个文本.在firefox中,我使用以下代码断言文本存在:
assertEquals("specific text", driver.findElement(By.xpath("xpath)).getText());
Run Code Online (Sandbox Code Playgroud)
我在表单中声明第2步并确认已在表单中添加了某个附件.但是,当我在Chrome中使用相同的代码时,显示的输出不同,但确实包含特定文本.我收到以下错误:
org.junit.ComparisonFailure: expected:<[]specific text> but was:<[C:\fakepath\]specific text>
Run Code Online (Sandbox Code Playgroud)
而不是断言某些东西是真的(正是我正在寻找的东西)我想写下这样的东西:
assert**Contains**("specific text", driver.findElement(By.xpath("xpath)).getText());
Run Code Online (Sandbox Code Playgroud)
上面的代码显然不起作用,但我找不到如何完成这项工作.
使用Eclipse,Selenium WebDriver和Java
我最近在文本生成软件的文本输出上做了很多功能测试,发现自己写了很多
assertTrue(actualString.contains(wantedString));
Run Code Online (Sandbox Code Playgroud)
但是,失败的消息是非描述性的
Expected [true], but was [false]
Run Code Online (Sandbox Code Playgroud)
另一种方法是将自定义失败消息包括为
String failMsg = String.format("Wanted string to contain: %s, Actual string: %s", wantedString, actualString);
assertTrue(failMsg, actualString.contains(wantedString));
Run Code Online (Sandbox Code Playgroud)
但是一直手动执行此操作感觉有点乏味.有没有更好的办法?