2014-09-30 57 views
0

是执行循环的测试。登录详细信息从数据库中检索。测试密码不正确是否因为WD在日志记录后未找到该项目而中断他应该点击。例如,如果十个密码中的第四个密码错误只是显示异常,并且下一个继续测试,那么测试如何不中断?如何继续循环中的测试,尽管出现错误

我关心这个例子。 100个登录名和密码来捕捉那些不正确的信息。

的一段代码:

driver.get(baseUrl + "a url"); 
AssertJUnit.assertEquals("assert text", driver.getTitle()); 
driver.findElement(By.id("login")).clear(); 
driver.findElement(By.id("login")).sendKeys(login); 
driver.findElement(By.id("password")).clear(); 
driver.findElement(By.id("password")).sendKeys(password); 
driver.findElement(By.cssSelector("span.triangle")).click(); 

如果登录不成功,你可以点击代码的最后一行的按钮。 使用什么?的assertEquals? verifity? softAssert?怎么样?

回答

0

我明白了吗?在测试用例中添加你的逻辑。三种风格的三种情况。

import static org.junit.Assert.*; 

import java.util.ArrayList; 
import java.util.List; 

import org.junit.Test; 


public class StackOverFlow26116823 { 

    private static String password = "s"; 
    private static String getPassword(){ 
     return password + "a"; 
    } 

    @Test 
    public void testFail() { 
     for(int i = 0 ; i < 100; i ++){ 
      assertEquals("a" , getPassword()); 
     } 
    } 


    @Test 
    public void testLoopToSave() { 
     List<AssertionError> errorS = new ArrayList<AssertionError>(); 
     for(int i = 0 ; i < 100; i ++){ 
      try{ 
       assertEquals("a" , getPassword()); 
      }catch(AssertionError e){ 
       errorS.add(e); 
      } 
     } 
     assertTrue(getAllErrorMessageTrace(errorS) , errorS.size() == 0); 
    } 

    private String getAllErrorMessageTrace(List<AssertionError> errorS) { 
     // TODO Auto-generated method stub 
     return ""; 
    } 

    @Test 
    public void testLoopJustCountAndLogging() { 
     boolean errorFlag = false; 
     for(int i = 0 ; i < 100; i ++){ 
      try{ 
       assertEquals("a" , getPassword()); 
      }catch(AssertionError e){ 
       System.out.println(i + ": " + e.getMessage()); 
       errorFlag = true; 
      } 
     } 
     assertTrue("Some errors that you can find in log. ", errorFlag); 
    } 
} 
+0

感谢您的回复。我会尽力解释我的意思。 从数据库登录名和密码中进行选择。例如,10其中有些是无法记录的。我想捕捉那些不正确的,但我也想测试执行所有下载的数据库登录名和密码分配给他们。即:选择一个登录名和密码,登录,如果密码不正确(无法登录),将它们保存到文件(如excel或日志)中,但不要中断测试,只能继续进行下一次登录和密码,直到整个列表。 – grandecalvo 2014-09-30 10:09:09

+0

我更喜欢TestNG,因为它更易于在参数中使用并生成一个简单的测试报告。 – grandecalvo 2014-09-30 10:13:24

+0

可能需要一些其他检查,并按照您所述将其运行到其他功能。 – 2014-09-30 10:50:44