0

我使用 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 测试将中断测试,但我只需要获取错误消息并继续测试。

4

2 回答 2

0

听起来您只需要捕获和处理 Assert 的各种方法抛出的 AssertionError (在此处记录)。像这样的东西:

try {
  Assert.assertEquals("Text not found!", "Terms", list);
} catch (AssertionError e) {
  System.err.println("Assertion failed: " + e.getMessage());
}
于 2012-07-13T15:17:30.317 回答
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() 方法中,您可以检查或测试网页上的任意数量的 WebElement,您所要做的就是使用一个简单的 if 语句来检查某些事情是否正确,如果不正确,则调用 addErrors() 方法。希望这对您有所帮助。

于 2012-07-15T05:19:18.963 回答