seleniumWebDriver自動化測試框架_02TestNG和txt文件進行數據驅動
1.讀取txt本地文件內容作爲測試數據執行瀏覽器搜索匹配
public class TestNGCSV{
WebDriver driver;
private static final String fileName="F:\\SeleniumWebDriver\\workspace\\h5\\test.txt";
@Test(dataProvider="dataSet")
public void f(String s1,String s2,String s3) throwsIOException, InterruptedException {
driver.get("http://www.sogou.com");
Thread.sleep(3000);
driver.findElement(By.id("query")).sendKeys(s1+""+s2);
driver.findElement(By.id("stb")).click();
Thread.sleep(5000);
Assert.assertTrue(driver.getPageSource().contains(s3));
Thread.sleep(3000);
}
@BeforeMethod
public voidbeforeMethod() {
System.setProperty("webdriver.firefox.bin", "D:\\firefox\\firefox.exe");
driver=newFirefoxDriver();
}
@AfterMethod
public voidafterMethod() throws InterruptedException {
Thread.sleep(3000);
driver.quit();
}
@DataProvider(name="dataSet")
private staticObject[][] getProvideData() throws IOException{
return getTestData(fileName);
}
//獲取txt文件內容返回二維數組
public staticObject[][] getTestData(String fileNameParameter) throwsIOException{
BufferedReaderbr=new BufferedReader(newInputStreamReader(new FileInputStream(fileNameParameter), "GBK"));
Strings=null;
List<Object[]>listData=newArrayList<Object[]>();
while ((s=br.readLine())!=null) {
listData.add(s.split(","));
System.out.println(s.split(",")[0].toString());
}
br.close();
Object[][]results=new Object[listData.size()][];
for(int i=0;i<listData.size();i++)
{
results[i]=listData.get(i);
System.out.println(results[i][0].toString());
}
return results;
}
}
2.txt文件內容如下:
功夫,主演,周星馳
超人,主演,克里斯托弗
蝙蝠俠1,女主角,克爾斯滕
3.測試執行結果如下:
PASSED: f("功夫", "主演", "周星馳")
PASSED: f("超人", "主演", "克里斯托弗")
PASSED: f("蝙蝠俠1", "女主角", "克爾斯滕")
===============================================
Default test
Tests run: 3, Failures:0, Skips: 0