淄博做网站的公司排名,网站将要准备建设的内容,用dw做旅游的网站的设计,深圳龙华医院TestNG数据驱动DataProvider(4种方式)
1、DataProvider用法(从二维数组中读取) 1、定义方法,加上@DataProvider注解 定义一个方法,方法名随意取,使用@DataProvider注解,注解中给这个provider起名字,该方法返回一个二维数组。例如:@DataProvider(name=testDataimport org.testng.annotations.DataProvider;
import org.testng.annotations.Test;/*** Description :** @author : HMF* Date : Created in 11:24 2023/11/16* @version :*/
public class testProvider {@DataProvider(name="testData")public Object[][] provider(){Object [][] provider = new Object [6][2];for (int i = 0; i provider.length; i++) {provider[i][0] = "value"+i;provider[i][1] = i+100;}return provider;}@Test(dataProvider="testData")public void getName(String value,int num){System.out.println(value+","+num);}}1.2、执行结果
运行过程中,打印 dataprovider提供的二维数组参数,每次测试可用来入参。 value0,100 value1,101 value2,102 value3,103 value4,104 value5,105 =============================================== Default Suite Total tests run: 6, Failures: 0, Skips: 0 =============================================== Process finished with exit code 0 2、DataProvider用法(从Excel中读取(XSS方式获取直接放入Object)) 1、定义方法,加上@DataProvider注解 定义一个方法,方法名随意取,使用@DataProvider注解,注解中给这个provider起名字,例如:@DataProvider(name="testData") 该方法读取excel,数据放入二维数组 该方法返回的二维数组每一行代表一次测试的参数,每一行的元素跟Test中需要的参数一一对应 3、TestCase使用DataProvider 需要使用DataProvider时,该方法@Test加上@DataProvider注解和其名称 例如:@Test(dataProvider="testData" 2.1、excel文件
testdata.xlsx
idnameage1小王182王凯193李杰184陈小小195胡晓196刘梅192.2、测试例子testProvider_excel.java
2.3.1、pom.xml引用 !-- org.apache.poi依赖-- dependency groupIdorg.apache.poi/groupId artifactIdpoi/artifactId version3.14/version /dependency dependency groupIdorg.apache.poi/groupId artifactIdpoi-ooxml/artifactId version3.14/version /dependency 2.3.2、测试例子testProvider_excel.java
package com.example;import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Iterator;/*** Description :** @author : HMF* Date : Created in 10:25 2023/11/23* @version :*/
public class testProvider_excel {@Test(dataProvider = "testdata")public void testMethod(int id,String name, int age) {System.out.println("Id:" + id + ", Name:" + name + ", Age:" + age);}@DataProvider(name = "testdata")public Object[][] readData() throws IOException {File file = new File("src/main/resources/testdata.xlsx");FileInputStream fis = new FileInputStream(file);XSSFWorkbook wb = new XSSFWorkbook(fis);XSSFSheet sheet1 = wb.getSheetAt(0);int rowcount = sheet1.getPhysicalNumberOfRows();int columnCount = sheet1.getRow(0).getLastCellNum();Object objects[][] = new Object[rowcount-1][columnCount];int rowCounter = 0;IteratorRow rowIterator = sheet1.iterator();boolean firstRow = true;while (rowIterator.hasNext()) {Row currentRow = rowIterator.next();if (