2016-08-26 3 views
2

Ich habe eine Liste von username und password in einem Excel-Blatt.Benutzeranmeldung Authentifizierung in Selen?

Ich versuche, die gültigen Benutzeranmeldeinformationen für eine Anmeldeseite zu finden.

Dies ist mein Code:

Workbook wBook = null; 
try { 
    wBook = Workbook.getWorkbook(new File("C:/Users/jayant.gupta/Desktop/Book1.xls")); 
} catch (BiffException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} catch (IOException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 
//get sheet 
jxl.Sheet s = wBook.getSheet(0); 

for(int i=0;i<s.getRows();i++) 
{ 
    for(int j=0;j<s.getColumns();j++) 
    { 
     Cell cell=s.getCell(j, i); 
     System.out.println("  "+cell.getContents()); 
     System.out.println("i "+i); 
     System.out.println("j "+j); 
     if(j==0){ 
      driver.findElement(By.id("textBoxUserName")).sendKeys(cell.getContents()); 
     } 
     if(j==1){ 
      driver.findElement(By.id("txtPswd")).sendKeys(cell.getContents()); 
      driver.findElement(By.id("explore")).click(); 
      driver.findElement(By.id("textBoxUserName")).clear(); 
      driver.findElement(By.id("txtPswd")).clear(); 

     }  
    } 
    System.out.println("\n"); 
} 

ich insgesamt 6 Login-Daten in der Excel haben. Davon ist nur 1 gültige Berechtigung und auf Position 4 der Excel.

Wenn ich die vierte Position der Excel erreiche, bringt mich das auf die nächste Seite.

Aber ich möchte überprüfen, ob die nächsten 2 Anmeldedaten gültig sind oder nicht.

Wie mache ich das?

+1

Wenn Sie auf der nächsten Seite getroffen werden, Logout und dann versuchen Sie es erneut, Oder foreach row in the sheet, machen Sie es zu einem neuen Test, der den Treiber initialisiert, so dass es jedes Mal frisch ist. –

+0

Sie können 'try/catch' verwenden, um sich nach jedem Versuch abzumelden – Andersson

Antwort

1
  • Verwenden parametrized tests statt Iterieren
  • Erstellen Sie neue WebDriver Instanz für jeden Test, so brauchen Sie sich keine Sorgen, sind Sie logined oder nicht
+0

Wenn es eine Abmelde-URL gibt (wie" http://example.com/logout ") kann es vor oder nach jedem Test navigieren, anstelle des neuen Treibers – kotoj

+1

@ kotoj Je mehr Action Sie in Ihren Tests machen, desto größer ist die Wahrscheinlichkeit, dass sie aus dem einen oder anderen Grund ausfallen. Die Verwendung von clear env für jeden Test reduziert den Code und bringt Stabilität. – artkoshelev

+0

Zustimmen. Aber ich denke, es kommt auf den Fall an. Manchmal ist das Risiko so gering, aber die Ausführung ist schneller. – kotoj

Verwandte Themen