【问题标题】:How to read Data from Excel sheet in selenium webdriver [closed]如何在 selenium webdriver 中从 Excel 表中读取数据 [关闭]
【发布时间】:2014-05-06 13:08:24
【问题描述】:

我正在尝试从 excel 文件中读取用户名和密码,下面是我的代码,但它显示以下错误:

log4j:WARN 找不到记录器的附加程序 (org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager)。 log4j:WARN 请正确初始化log4j系统。

代码:

public static void main(String[] args) throws BiffException, IOException {      
    Sheet s;
    WebDriver driver = new FirefoxDriver();
    FileInputStream fi = new FileInputStream("E:\\myExcelWorkBook.xls");
    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("AppURL");
    driver.findElement(By.id("txtUserName")).sendKeys(Username);

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

    driver.findElement(By.id("txtPassword")).sendKeys(password);

    driver.findElement(By.id("btnLogin")).click();
   }
 }

请帮帮我。

【问题讨论】:

  • 表你使用哪个包你能告诉我。现在我会试试
  • 读取excel文件与selenium webdriver无关。分开你的代码,首先确保你可以从excel文件中读取数据到username和'password'变量中。
  • @Faizthanx 的帮助。它现在正在工作......
  • 如果您询问 log4j 警告,我怀疑这是重复的:stackoverflow.com/questions/12532339/…
  • 我认为如果你按照@JpR 的建议修复 log4j,你会看到一些日志来帮助你。

标签: java excel selenium logging jxl


【解决方案1】:
package com.test.utitlity;

import java.io.IOException;

import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class readExcel extends globalVariables {

    /**
     * @param args
     * @throws IOException 
     */
    public static void readExcel(int rowcounter) throws IOException{

        XSSFWorkbook srcBook = new XSSFWorkbook("./prop.xlsx");     
        XSSFSheet sourceSheet = srcBook.getSheetAt(0);
        int rownum=rowcounter;
        XSSFRow sourceRow = sourceSheet.getRow(rownum);
        XSSFCell cell1=sourceRow.getCell(0);
        XSSFCell cell2=sourceRow.getCell(1);
        XSSFCell cell3=sourceRow.getCell(2);
        System.out.println(cell1);
        System.out.println(cell2);
        System.out.println(cell3);



}

}

【讨论】:

    【解决方案2】:

    您的问题是 log4j 尚未初始化。它不会以任何方式影响您的应用程序的结果,因此忽略或仅初始化 Log4J 是安全的,请参阅: How to initialize log4j properly?

    【讨论】:

    • 但它只打开 Firefox。应用程序也没有加载。我是第一次尝试。
    • 我想如果你按照 JpR 的建议修复 log4j,你会看到一些日志来帮助你。
    【解决方案3】:

    不知道您到底面临什么错误。但是log4j:WARN No appenders could be found for logger error,是由于您在项目中包含的 log4j jar 文件。

    需要初始化 log4j,但实际上您的项目不需要 Log4j。所以右键单击您的项目→属性→Java构建路径→库..搜索log4j jar文件并将其删除。

    希望它现在可以正常工作。

    【讨论】:

      【解决方案4】:

      我使用以下方法来使用来自 excel 表的输入数据: 还需要导入以下内容

      import jxl.Workbook;

      然后

      Workbook wBook = Workbook.getWorkbook(new File("E:\\Testdata\\ShellData.xls"));
      //get sheet
      jxl.Sheet Sheet = wBook.getSheet(0); 
      //Now in application i have given my Username and Password input in following way
      driver.findElement(By.xpath("//input[@id='UserName']")).sendKeys(Sheet.getCell(0, i).getContents());
      driver.findElement(By.xpath("//input[@id='Password']")).sendKeys(Sheet.getCell(1, i).getContents());
      driver.findElement(By.xpath("//input[@name='Login']")).click();
      

      会有用的

      【讨论】:

      • 确保 Excel 文件应该是 97-2000 格式
      【解决方案5】:
      import jxl.Sheet;
      import jxl.Workbook;
      import jxl.read.biff.BiffException;
      
      String FilePath = "/home/lahiru/Desktop/Sample.xls";
      FileInputStream fs = new FileInputStream(FilePath);
      Workbook wb = Workbook.getWorkbook(fs);
      
      String <variable> = sh.getCell("A2").getContents();
      

      【讨论】:

      • 请在您的答案中添加一些 cmets 解释这如何回答问题
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多