#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.