我需要测试特定网站的大量网页列表,并且必须验证 i) 所有提供的网页上的内容是否存在?ii) 该特定页面上的内容也不会重复。
我需要使用 Selenium WebDriver (Java) 自动执行此操作。我希望我只是将所有页面 URL 提供到一个 excel 表(.csv 文件)中,然后通过它运行测试并取回满足我要求的结果。
请帮助我。
提前致谢..
我需要测试特定网站的大量网页列表,并且必须验证 i) 所有提供的网页上的内容是否存在?ii) 该特定页面上的内容也不会重复。
我需要使用 Selenium WebDriver (Java) 自动执行此操作。我希望我只是将所有页面 URL 提供到一个 excel 表(.csv 文件)中,然后通过它运行测试并取回满足我要求的结果。
请帮助我。
提前致谢..
也许您可以尝试使用 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));
}
希望能帮助到你!