1.xlsx文件。
2.利用POI读取excel文件内容,并保存到一个二维数组中。
@Test(dataProvider = "testdata")
public void TestLogin(String username,String password) throws InterruptedException
{
//驱动配置
System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
driver.get("https://www.baidu.com");
//click login button
driver.findElement(By.xpath("//*[@id='u1']/a[7]")).click();
Thread.sleep(2000);
//选择用户登录方式
driver.findElement(By.xpath(".//*[@id='TANGRAM__PSP_10__footerULoginBtn']")).click();
Thread.sleep(2000);
//清除
driver.findElement(By.xpath(".//*[@id='TANGRAM__PSP_10__userName']")).clear();
//输入用户名
driver.findElement(By.xpath(".//*[@id='TANGRAM__PSP_10__userName']")).sendKeys(username);
//清除
driver.findElement(By.xpath(".//*[@id='TANGRAM__PSP_10__password']")).clear();
//输入密码
driver.findElement(By.xpath(".//*[@id='TANGRAM__PSP_10__password']")).sendKeys(password);
}
@DataProvider(name ="testdata")
public Object[][] TestDataFeed() throws Exception{
//文件路径
Workbook workbook = WorkbookFactory.create(new File (".\\Files\\test-data.xlsx"));
System.out.println("sheets"+workbook.getNumberOfSheets());
//加载sheet
@SuppressWarnings("resource")
Sheet sh1 = workbook.getSheetAt(0);
//设置Cell的类型,就可以把纯数字作为String类型读取
for(Row row:sh1) {
int i=0;
for(Cell cell:row) {
cell.setCellType(CellType.STRING);
String value =cell.getStringCellValue();
System.out.println("value:"+ value+"");
i++;
}
System.out.println();
}
//创建二维数组
int numberrow =sh1.getPhysicalNumberOfRows();
Object[][] baidudata =new Object[numberrow][2];
for(int i=0;i<numberrow;i++) {
baidudata[i][0] =sh1.getRow(i).getCell(0).getStringCellValue();
baidudata[i][1] =sh1.getRow(i).getCell(1).getStringCellValue();
}
//数据返回给脚本
return baidudata;
}
}
运行脚本,启动了两次chrome浏览器,可以看到测试了两次登录,分别用了不同用户名。
控制台显示结果:
TestNg suite 显示: