我使用Assert类来检查页面上是否有某些文本,如果文本不存在,此命令将停止测试执行。我想用验证。有人可以告诉我在哪里可以找到这些方法的文档吗?
我的意思是WebDriver,junit。例如这样的代码
String text=("Terms");
List<WebElement> list = driver.findElements(By.xpath("//*[contains(text(),'" + text + "')]"));
Assert.assertEquals("Text not found!", "Terms", list);
如果页面上没有文本“Term”,则junit test会中断测试,但我只需要输入错误信息并继续测试。
答案 0 :(得分:0)
听起来你需要捕获并处理Assert (documented here)的各种方法抛出的AssertionError。像这样:
try {
Assert.assertEquals("Text not found!", "Terms", list);
} catch (AssertionError e) {
System.err.println("Assertion failed: " + e.getMessage());
}
答案 1 :(得分:0)
如果您希望继续执行测试用例,即使某些结果您期望失败并在完成执行结束时看到结果。
你可以这样做 -
声明一个变量来存储执行期间失败的所有测试用例结果,然后在tearDown方法中调用Assert.fail(String message)
StringBuffer errors = new StringBuffer();
@Test
public void testSomething(){
if(!"data".equals(text)){
addErrors(text +"not equal to data");
}
// add any number of if statements to check anything else
}
@After()
public void tearDown(){
if(errors.length()!=0){
Assert.fail(errors.toString());
}
}
public String addErrors(String message){
errors = errors.append(message+"\n");
}
现在在testSomething()方法中,您可以在网页上检查或测试任意数量的WebElements,您只需要一个简单的if语句来检查某些内容是否正确,如果没有,则调用addErrors()方法。希望这会对你有所帮助。