Selenium webdriver 要从excel文件中获取数据吗

Selenium webdriver 要从excel文件中获取数据吗,selenium-webdriver,Selenium Webdriver,数据drven框架,其中每个案例的值都在变化 public static void main(String[] args) throws BiffException, IOException { Sheet s; WebDriver driver = new FirefoxDriver(); FileInputStream fi = new FileInputStream("D:\\Nikhil\\FGX\\

数据drven框架,其中每个案例的值都在变化

 public static void main(String[] args) throws BiffException, IOException {       
            Sheet s;
            WebDriver driver = new FirefoxDriver();
            FileInputStream fi = new FileInputStream("D:\\Nikhil\\FGX\\DataDriven.xlsx");
            Workbook W = Workbook.getWorkbook(fi);

            s = W.getSheet(0);

            for(int row = 0;row <= s.getRows();row++)
            {
                String Username = s.getCell(0,row).getContents();
                System.out.println("Username" +Username);
                driver.get("http://********");
                driver.findElement(By.xpath("//*[@id='LoginName']")).sendKeys(Username);

                String password= s.getCell(1, row).getContents();
                System.out.println("Password "+password);

                driver.findElement(By.xpath("//*[@id='Password']")).sendKeys(password);

                driver.findElement(By.xpath("html/body/form/div/div/div/div/fieldset/button")).click();
        }
publicstaticvoidmain(字符串[]args)抛出biffeException,IOException{
表s;
WebDriver=newfirefoxdriver();
FileInputStream fi=新的FileInputStream(“D:\\Nikhil\\FGX\\DataDriven.xlsx”);
工作簿W=Workbook.getWorkbook(fi);
s=W.getSheet(0);

对于(int row=0;row有几个原因可以查看BiffException

确保指向正确的文件、工作表、单元格等。您需要获取并迭代excel数据。我可能不会直接回答您的答案,但下面的代码可能会帮助您

List getData(){
**获取数据

      String path = "filepath";
      List dataList = new ArrayList();
      FileInputStream fis = null;
      try { 
          fis = new FileInputStream(new File(path));
          XSSFWorkbook workbook = new XSSFWorkbook(fis);
          XSSFSheet sheet = workbook.getSheet("TestData");
          java.util.Iterator rows = sheet.rowIterator();

          while (rows.hasNext()) {
              XSSFRow row = ((XSSFRow) rows.next());
              // int r=row.getRowNum();
              java.util.Iterator cells = row.cellIterator();
              int i = 0;
              String[] testData= new String[3];
              while (cells.hasNext()) {

                  XSSFCell cell = (XSSFCell) cells.next();
                  String value = cell.getStringCellValue();
                  if (!value.equals(null)) {
                       testData [i] = value;
                       i++;
                  }
              }
              dataList.add(testData);
          }
      }
      catch (Exception e) {
          e.printStackTrace();
      }
      return dataList;
}



public Object[][] data() { **Store the data in desired format

    @SuppressWarnings("rawtypes")
    List dataList= getData();
    Object a[][]=new Object[dataList.size()][2];
    for(int i=1;i<dataList.size();i++){
        String[] test=(String[]) dataList.get(i);
        String username = test[0];
        String password=test[1];
        a[i][0]=username;
        a[i][1]=password;
    }
    return a;
stringpath=“filepath”;
List dataList=new ArrayList();
FileInputStream fis=null;
试试{
fis=新文件输入流(新文件(路径));
XSSF工作簿=新XSSF工作簿(fis);
XSSFSheet sheet=workbook.getSheet(“TestData”);
java.util.Iterator rows=sheet.rowIterator();
while(rows.hasNext()){
XSSFRow行=((XSSFRow)rows.next());
//int r=row.getRowNum();
java.util.Iterator cells=row.cellIterator();
int i=0;
String[]testData=新字符串[3];
while(cells.hasNext()){
XSSFCell cell=(XSSFCell)cells.next();
字符串值=cell.getStringCellValue();
如果(!value.equals(null)){
testData[i]=值;
i++;
}
}
添加(testData);
}
}
捕获(例外e){
e、 printStackTrace();
}
返回数据列表;
}
公共对象[][]数据(){**以所需格式存储数据
@抑制警告(“原始类型”)
List dataList=getData();
对象a[][]=新对象[dataList.size()][2];

对于(int i=1;初始化Bliff异常