如何将Excel值与iframe下拉值进行比较

时间:2017-06-13 08:32:35

标签: java selenium selenium-webdriver

有一个场景,即需要将Excel值与下拉值(iFrame中存在的DD)进行比较。我已经完成了代码,但这非常非常慢,需要进行优化以便快速比较。这里列表包含Dropdown的所有数据。在此先感谢。

参考代码:

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 个答案:

答案 0 :(得分: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);
    }
}