0

谁能建议我如何在我的本地驱动器中读取 excel 表说“C:\company_names.xls”并填充到网页中的文本框中。

我将解释测试用例场景如下:

1) 网页应首先在 Firefox 中打开。2)左侧导航应单击“公司列表” 3)然后应选择 下拉值名称公司列表(默认情况下) 。4)然后应单击创建按钮,该按钮将页面带到另一个页面,该页面有两个文本框,名称为“公司名称”公司产品” 5)带有这两个文本框条目的 excelsheet 位于本地驱动器“C:\ text.xls"。此 Excel 表共有 100 条记录。6) 应从 excel 表中获取公司名称和公司产品这两个条目中的每一个并填充到网页的文本框中,然后单击提交按钮。7 ) 然后是另一个提交按钮。

我可以通过为第一个条目硬编码两个示例值来创建自动化。谁能帮助我如何从 excelsheet 中读取值并填充到网页的文本框中?

我已经粘贴了到目前为止我已经完成的硬编码示例,请帮助我了解如何使用 excelsheet 读取数据并将数据填充到网页中。

public void submit()throws Exception
{
    selenium.start();
    selenium.setSpeed("1000");
    selenium.open("URL");
    selenium.windowFocus();
    selenium.windowMaximize();
    selenium.click("link=companylist");
    selenium.waitForPageToLoad("30000");
    selenium.select("//select[@name='comp_id']","label=company");
    selenium.waitForPageToLoad("30000");
    selenium.click("name=open");
    selenium.waitForPageToLoad("30000");
    selenium.type("id=company_names", "test5");
   selenium.type("id=company_products", "test6");
    selenium.click("css=input.button");
    selenium.waitForPageToLoad("30000");
    selenium.click("name=action");
    selenium.waitForPageToLoad("30000");
    selenium.click("name=action");
    selenium.waitForPageToLoad("30000");

}
public void tearDown() throws Exception 
{
    selenium.close();
    selenium.stop();
    selenium.refresh();

}

4

3 回答 3

0

我会为此使用 Apache POI 库。查看Excel 库的POI-HSSF 和 POI-XSSF

于 2013-03-30T15:06:37.563 回答
0

不确定您尝试了什么,但有 Excel JDBC 驱动程序。可能有助于从 Excel 读取数据。访问:http: //sourceforge.net/projects/xlsql/

于 2013-03-30T15:54:25.820 回答
0

public static String[][] readData(String readfileName, String readsheetName) 抛出 IOException, BiffException

    {

    File infoFile = new File(readfileName);

    Workbook infoWorkBook = Workbook.getWorkbook(infoFile);

    Sheet infoSheet = infoWorkBook.getSheet(readsheetName);
    int infoRows = infoSheet.getRows();

    int infoColumns = infoSheet.getColumns();

    String[][] column = new String[infoColumns][infoRows];

    for(int i=1; i< infoRows; i++)

    {

    for(int j1=0; j1<infoColumns; j1++)

    {
    column[j1][i] = infoSheet.getCell(j1, i).getContents();

// System.out.println(column[j1][i]);

    }

    }
    return column;

    }
于 2013-04-01T10:42:46.900 回答