2017-06-13 62 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

当然。再次感谢。 –

相关问题