Excel+Httpclient,数据驱动接口自动化测试

N个B端产品,一个产品有N个http接口、一个http接口又有N个入参,每个入参都要作非法性测试,一遍遍修改报文、再进行post,重复劳动可想而知。尝试写了一个简陋的api自动化框架,具体如下。还待持续完善。

一、框架设计

1、每一个http接口定义成一个类,以接口号为类名,属性为该接口的各个入参,用构造方法实现数据初始化。
2、制作一个excel模板1作为基础模板,模板1包含TestCase No.、TestCase Name、req请求报文、check检查点、res返回报文、status用例执行状态这几个必须的字段。
这里写图片描述
3、调用getNewMould方法,传入接口号,生成适用于该接口的excel模板2。模板2相比模板1,增加了字段“#入参1”、”#入参2”……
这里写图片描述
4、维护模板2,编写用例,填入测试数据、检查点。用例执行时,若单元格为空,对应入参使用初始数据;若单元格值为”*NULL”,对应入参为空值,以作入参必输性测试;若单元格有值且不为“*NULL”,则以单元格值覆盖初始值。
5、调用oneInterface方法,逐条执行用例post http请求,将请求报文记到req字段下,响应报文记到res字段下,判断响应报文中是否还有check字段,然后将用例置成fail、pass、warn3种状态。

二、代码示例

1、以接口号为名定义一个类

package util;
public class 接口号{
     String 入参1;
     String 入参2; 
     ......
     String 入参N;


    // 构造方法,初始化对象
     接口号() {
        this.入参1 = ......;
        this.入参2 = ......;
        ......
        this.入参N=......;
    }
    }

2、getNewMould方法

public static void getNewMould(String mouldpath, String sheetname,
            String dstpath, String clzname) throws IOException,
            ClassNotFoundException, InstantiationException,
            IllegalAccessException {
        FileInputStream ExcelFile = new FileInputStream(mouldpath);
        ExcelWBook = new XSSFWorkbook(ExcelFile);
        ExcelWSheet = ExcelWBook.getSheet(sheetname);

    
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值