2017-06-13 60 views
2

有一種情況,即需要將excel值與下拉值(iFrame中存在的DD)進行比較。我已經完成了代碼,但是這非常慢,需要進行優化以進行快速比較。這裏列出了來自Dropdown的所有數據。提前致謝。參考如何將Excel值與iframe進行比較下拉值

代碼:

for (int k = 1; k<= totalrows;k++) 
     { 
      XSSFCell Cell=sheetname.getRow(k).getCell(0); 
      Cell.setCellType(Cell.CELL_TYPE_STRING); 
      String Celldata=Cell.getStringCellValue(); 
      boolean isfound = false; 
      webDD: 
      for(WebElement e : list) { 
       String CliNam = e.getText(); 
       if(findClientNam.equals(Celldata)) 
       { 
        isfound= true; 
        break webDD; 
       } 
      }    
      if(!isfound) 
      { 
       Log.info("Value Not found in Dropdown: "+Celldata); 
       Thread.sleep(1000); 
      } 

     } 

回答

1

而不是循環訪問List<WebElement>的每一行作出Set<String>和使用contains

Set<String> values = new HashSet<String>(); 
for(WebElement e : list) { 
    values.add(e.getText()); 
} 

for (int k = 1 ; k <= totalrows ; k++) { 
    XSSFCell Cell = sheetname.getRow(k).getCell(0); 
    Cell.setCellType(Cell.CELL_TYPE_STRING); 
    String cellData = Cell.getStringCellValue(); 

    if (!values.contains(cellData)) { 
     Log.info("Value Not found in Dropdown: " + cellData); 
     Thread.sleep(1000); 
    } 
} 
+0

感謝亞爾。現在速度更快。 :) –

+0

@TestEngg你還應該考慮刪除'Thread.sleep;',它似乎沒有任何用途。 – Guy

+0

當然。再次感謝。 –

相關問題