0

我需要测试特定网站的大量网页列表,并且必须验证 i) 所有提供的网页上的内容是否存在?ii) 该特定页面上的内容也不会重复。

我需要使用 Selenium WebDriver (Java) 自动执行此操作。我希望我只是将所有页面 URL 提供到一个 excel 表(.csv 文件)中,然后通过它运行测试并取回满足我要求的结果。

请帮助我。

提前致谢..

4

1 回答 1

0

也许您可以尝试使用 jxl 库。

使用 Maven,这就是 pom 依赖项:

<dependency>
        <groupId>net.sourceforge.jexcelapi</groupId>
    <artifactId>jxl</artifactId>
    <version>2.6.12</version>
</dependency>

如果读取用户名,密码,......你可以使用这样的bean:

import java.io.File;
import java.io.IOException;

import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;

/**
 * 
 * This is a bean to easily get users data from an excel file.
 * 
 * @author Hector Flores - hectorfb@gmail.com
 * 
 */
public class ExcelUserBean {

private String filepath = null;
private Sheet sheet = null;

/**
 * Read an excel file with users
 * 
 * @param filepath
 * @throws IOException
 */
public ExcelUserBean(String filepath) throws IOException {
    this.filepath = filepath;
    // TestData td = new TestData("SignUpUsers.xls");
    getDatafromXL(this.filepath);
}

/**
 * Get ID counter from excel file
 * 
 * @param row
 *            (0 for column title, >0 for values)
 * @return
 */
public String getId(int row) {
    return sheet.getCell(0, row).getContents();
}

/**
 * Get email form excel file
 * 
 * @param row
 *            (0 for column title, >0 for values)
 * @return
 */
public String getEmail(int row) {
    return sheet.getCell(1, row).getContents();
}

/**
 * Get name form excel file
 * 
 * @param row
 *            (0 for column title, >0 for values)
 * @return
 */
public String getName(int row) {
    return sheet.getCell(2, row).getContents();
}

private void getDatafromXL(String filepath) throws IOException {
    File inputWorkbook = new File(filepath);
    Workbook w;
    try {
        w = Workbook.getWorkbook(inputWorkbook);
        // Get the first sheet
        sheet = w.getSheet(0);

    } catch (BiffException e) {
        e.printStackTrace();
    }
    }// End parseXLTestCase

}

现在在您的测试用例中,您可以填充您的 bean

    ExcelUserBean userBean = new ExcelUserBean(FILEPATH);
    //ROWS
    int begin = PropertiesConfig.getUserExcelRowFrom(); <-- from
    int end = PropertiesConfig.getUserExcelRowTo();   <-- to

    for (int excelRow = begin; excelRow <= end; excelRow++) {

       driver.findElement(By.id("signfirstname")).sendKeys(userBean.getName(excelRow));
       driver.findElement(By.id("lastname")).sendKeys(userBean.getSurname(excelRow));
    }

希望能帮助到你!

于 2013-09-11T16:58:40.663 回答