Использование Hashmap с библиотеками POI в Selenium

#java #excel #selenium #hashmap #apache-poi

#java #excel #селен #hashmap #apache-poi

Вопрос:

У меня есть файл xlsx, который содержит все локаторы, которые будут использоваться в моем скрипте. Снимок Excel

Теперь, чтобы использовать локатор и его значение, я бы использовал hashmap. Может кто-нибудь, пожалуйста, помогите мне, как поместить эти значения в hashmap и вызвать их в моем скрипте selenium. Мне каким-то образом удалось прочитать excel с использованием библиотек POI, однако я не смог понять, как поместить их в hashmap и куда добавить ячейку и строки в hashmap. Также как вызвать их в моем скрипте selenium.

 public void readValueFromExcel()
    {
        Iterator<Row> rowiterator=shSheet.iterator();
        while (rowiterator.hasNext())
            {
            HashMap<String, String> xHashmap = new HashMap();
            Row nextRow = rowiterator.next();
            Iterator<Cell> celliterator= nextRow.cellIterator();
                while (celliterator.hasNext())
                    {
                    Cell nextCell = celliterator.next();
                    switch (nextCell.getCellType())
                        {
                    case Cell.CELL_TYPE_STRING:
                        System.out.print(nextCell.getStringCellValue());
                        break;
                    case Cell.CELL_TYPE_BOOLEAN:
                        System.out.print(nextCell.getBooleanCellValue());
                        break;
                    case Cell.CELL_TYPE_NUMERIC:
                        System.out.print(nextCell.getNumericCellValue());
                        break;
                        }
                    //System.out.print(" - ");

                    }
                //System.out.println();

            }
  

Комментарии:

1. У вас есть три столбца в данном листе Excel, но объявленный HashMap<Ключ, значение> xHashMap может содержать только два столбца. Итак, как вы планируете вводить значения?

2. Привет, я планирую взять первые два столбца в hashmap.

3. вы должны объявить HashMap из итератора строк, а оператор put(ключ, значение) — из итератора ячеек. Имейте две переменные, такие как String key и String value, задайте соответствующие ключ и значение в операторе case, а вне итератора ячеек есть что-то вроде xHashmap.put(ключ, значение). По сути, для каждой итерации строки у вас будет один entrySet() xHashmap . Ваш метод должен возвращать объект Map для повторного использования HashMap.