繁体   English   中英

Selenium Java:如何使用注释从 Excel 读取数据

[英]Selenium Java: How to read data from Excel with annotations

使用 DataProvider 注释和 gradle 作为依赖管理器。

有问题:

  1. 从excel文件中读取数据,需要下载jxl吗?
  2. 如果我尝试从 excel 文件中读取 url(在某个单元格中),是否会使用 driver.get 方法打开 url?

您可以使用 apache poi 库来读取 xls 文件.. maven 依赖项和 jar 文件在这里..

https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml/3.9

示例代码:

假设您已将 xls 放在项目文件夹中。如果没有给出 xlsx 的完整路径。

您可以传递 sheetName 和您想读取的 Row 可以传递给此方法。或者您可以通过引用此方法创建自己的方法。

public static HashMap<String, String> ReadExcel(String SheetName, int Rownumber) throws IOException {
        // Define the File Folder
        XSSFWorkbook sourceBook = new XSSFWorkbook("./MasterSheet.xlsx");
        //Which sheet you want to read (Sheet Name)
        XSSFSheet sourceSheet = sourceBook.getSheet(SheetName);
        //int lastRowNumber = sourceSheet.getLastRowNum();
        int lastColumnNumber = sourceSheet.getRow(0).getLastCellNum() - 1;
        //Read the headerRow
        XSSFRow headerRow = sourceSheet.getRow(0);
        HashMap<String, String> ValuesMap = new HashMap<String, String>();
        for (int i = 0; i <= lastColumnNumber; i++) {
            ValuesMap.put(headerRow.getCell(i).toString(), sourceSheet.getRow(Rownumber).getCell(i).toString());
            //System.out.println(sourceSheet.getRow(Rownumber).getCell(i).toString());
        }
        //Close the workbook 
        sourceBook.close();
        return ValuesMap;
    }

您可以使用 K,V 对的返回值并读取类似..

HashMap<String, String> queryset = utilities.ReadExcel("CardDetails", 1);
String urlvalue = queryset.get(url).toString();
driver.get(urlvalue)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM