Java+Selenium3框架设计准备篇4-TestNG实现DDT(2)
来源:互联网 发布:服装设计淘宝 编辑:程序博客网 时间:2024/04/20 16:49
本篇继续介绍用TestNG和excel文件实现DDT场景。我们需要准备一个test-data.xlsx文件,并且放到eclipse项目下。
1.准备test-data.xlsx文件
2.利用POI读取excel文件内容,并保存到一个二维数组中。
package demo;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import org.apache.poi.xssf.usermodel.XSSFSheet;import org.apache.poi.xssf.usermodel.XSSFWorkbook;import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; public class DDT2 { @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 link driver.findElement(By.xpath("//*[@id='u1']/a[7]")).click(); Thread.sleep(2000); driver.findElement(By.xpath("//*[@id='TANGRAM__PSP_8__userName']")).clear(); driver.findElement(By.xpath("//*[@id='TANGRAM__PSP_8__userName']")).sendKeys(username); driver.findElement(By.xpath("//*[@id='TANGRAM__PSP_8__password']")).clear(); driver.findElement(By.xpath("//*[@id='TANGRAM__PSP_8__password']")).sendKeys(password); } @DataProvider(name="testdata") public Object[][] TestDataFeed() throws Exception{ File src = new File(".\\Files\\test-data.xlsx"); FileInputStream fis = new FileInputStream(src); @SuppressWarnings("resource") XSSFWorkbook wb=new XSSFWorkbook(fis); XSSFSheet sh1= wb.getSheetAt(0); 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浏览器,并可以看到测试了两次登录,分别用了不同用户名。
阅读全文
0 0
- Java+Selenium3框架设计准备篇4-TestNG实现DDT(2)
- Java+Selenium3框架设计准备篇3-TestNG实现DDT(1)
- Java+Selenium3框架设计准备篇2-TestNG通过变量实现启动不同浏览器测试
- Java+Selenium3框架设计准备篇1-TestNG简单介绍
- Java+Selenium3框架设计准备篇5-TestNG实现日志输出
- Java+Selenium3框架设计准备篇6-TestNG执行测试方法依赖关系
- Java+Selenium3框架设计准备篇7-TestNG如何disable一些case
- Java+Selenium3框架设计准备篇12-纯JAVA方法实现日志输出
- Java+Selenium3框架设计准备篇8-POM简介
- Java+Selenium3框架设计准备篇9-用PageFactory实现POM
- Java+Selenium3框架设计准备篇10-用非PageFactory实现POM
- Java+Selenium3框架设计准备篇11-用Log4j实现日志输出
- Java+Selenium3框架设计篇4-如何实现登录功能放在setUp()方法中
- Java+Selenium3框架设计篇5-如何实现邮件发送测试报告
- Java+Selenium3框架设计篇1-跨浏览器支持
- Java+Selenium3框架设计篇2-Selenium方法的二次封装和页面基类
- Java+Selenium3框架设计篇3-利用京东来举例实现POM和测试页面基类
- Java+Selenium3框架设计篇6-如何解决多条类下用例执行只启动一次浏览器的问题
- jQuery方法
- SQL查询区分大小写
- 在Predix上运行Flask版Hello World
- Strut2中strus.xlm文件的配置详解
- Android事件分发机制
- Java+Selenium3框架设计准备篇4-TestNG实现DDT(2)
- 使用jsoup获取页面元素
- R语言报告 单因素方差分析
- Codeforces Round #422 (Div. 2) 解题报告
- python 类
- 希尔排序
- Leetcode OJ 73 Set Matrix Zeroes [Medium]
- asp.net 快速简单的导出数据 DataTable导出到Excel、GSV
- hdu 2642 Stars(二维数组 单点更新 区间查询)