seleniumWebDriver自动化测试框架_02TestNG和txt文件进行数据驱动

来源:互联网 发布:sql insert date 编辑:程序博客网 时间:2024/05/21 16:54

    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(inti=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

0 0
原创粉丝点击