相关疑难解决方法(0)

如何使用JUnit断言元素包含Selenium中的文本

我有一个页面,我知道在某个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

java eclipse junit selenium assert

5
推荐指数
1
解决办法
5万
查看次数

字符串的断言失败消息包含子字符串

我最近在文本生成软件的文本输出上做了很多功能测试,发现自己写了很多

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)

但是一直手动执行此操作感觉有点乏味.有没有更好的办法?

java string junit functional-testing assertions

2
推荐指数
1
解决办法
7599
查看次数