记录一次简单TestNG + JAVA搭建接口测试

本文记录了一次使用TestNG、Java和Excel进行接口测试的实践过程。通过3个步骤——定义测试用例、数据驱动和读取Excel数据源,详细阐述了如何在开发环境中实现接口测试。注意点包括测试用例参数与数据源的对应,以及dataProvider方法的静态属性。

                           记录一次简单TestNG + JAVA搭建接口测试

开发环境: Excel + TestNG + Java

一、具体流程 

主要分为3个步骤: 测试用例(@Test) + 数据驱动(@DataProvide) + 获取数据源(read Excel)。

1. 测试用例 @Test

public class TestExample {
    
    @Test(description = "登录测试", dataProvider = "LoginData", dataProviderClass = DataExample.class)
    public void Test_GetBanner(String username, String password, String validate, String description) throws TException {
        // 测试用例
    }

}

2. 采取@DataProvide 数据驱动的方式,获取数据源不在同一个类中。具体如下:

public class DataExample {

    private static String dataPath = Base.getConfig("test_data_path");

    @DataProvider(name = "LoginData")
    public static Object[][] getLoginData() throws IOException {
        return FileUtils.readExcel( dataPath + "LoginData.xlsx");
    }

}

3. 其中FileUtils 读取Excel文件如下,TestNG需要返回Object[][]类型:

public class FileUtils {

    public static Object[][] readExcel(String filePath) throws IOException{

        InputStream in = new FileInputStream(filePath);
        XSSFWorkbook xssfWorkbook = new XSSFWorkbook(in);
        XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(0);
        int rowNum = xssfSheet.getLastRowNum();
        int columNum = xssfSheet.getRow(0).getPhysicalNumberOfCells();
        Object[][] testdata = new Object[rowNum][columNum];

        for (int index = 1; index <= rowNum; index++) {
            XSSFRow xssfRow = xssfSheet.getRow(index);
            for (int collx=0; collx < columNum; collx++) {
                xssfRow.getCell(collx).setCellType(Cell.CELL_TYPE_STRING);
                testdata[index-1][collx] = xssfRow.getCell(collx).getStringCellValue();
            }
        }
        xssfWorkbook.close();
        return testdata;
    }
}

 

二、注意问题

1. 参数:测试case处参数需要和返回参数数量对应,且数据类型一致,返回的都是String类型,所有此处都是String。

读取数据处有问题,一般为Test ignored。

 

2. dataProvider在单独的一个文件中,为static方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值