百度网盘地址更新:https://pan.baidu.com/s/13S0WStZpwlbL15IBp_Q-bg

1、已实现功能描述

1.1 框架包含:Jenkins、Ant、Jmeter

1.2 测试用例来源:.csv 文件

如图:

1.3 报警邮件

1.4 自动化测试执行需要修改内容

2、接口自动化引擎逻辑详解

2.1 引擎框架

2.2 引擎逻辑描述

2.2.1 全局变量设计

2.2.2 测试用例文件导入

2.2.3 http 头信息管理

2.2.4 http cookie 信息管理

2.2.5 判断用例文件中用例是否需要测试

2.2.6 判断 http 请求是 post 还是 get

2.2.7 post 请求配置逻辑

int errcount = Integer.parseInt(vars.get("errcount").trim());    //统计失败用例数
int allcount = Integer.parseInt(vars.get("respcount").trim());  //统计用例组的用例数
if(SampleResult.getResponseCode().equals("200") && SampleResult.getResponseDataAsString().contains("${ResponseData}")){   //判断 状态码和断言内容
    SampleResult.setSuccessful(true);   //如果状态码和断言都匹配成功,标记该用例通过
    vars.put("sendemail","no");  //标记不需要发送报警邮件
    allcount++;  //用例数+1
    vars.put("respcount",allcount.toString());  //把当前已执行用例数保存到全局变量中
}else {  //如果状态码或断言,有一个不匹配
    errcount++;   //失败用例数+1
    allcount++;   //用例数+1
    SampleResult.setSuccessful(false);   /标记该用例执行失败
    String code = SampleResult.getResponseCode();  //获取状态码
    String msg = SampleResult.getResponseMessage();   //获取响应信息
    String data = SampleResult.getResponseDataAsString();  //获取响应Body
    vars.put("Reqstauts","requestNook");  //标记该用例状态为 requestNook
    vars.put("respcode",code);  //保存状态码到全局变量
    vars.put("respmsg",msg);  // 保存响应信息到全局变量
    vars.put("respdata",data);  //保存响应body到全局变量
    vars.put("errcount",errcount.toString());  // 保存失败用例数到全局变量
    vars.put("respcount",allcount.toString());  //保存统计用例数到全局拜纳凉
    vars.put("sendemail","yes");  //修改全局变量sendemail为yes,发送报警邮件
}

2.2.8 get 请求配置逻辑

2.2.9 所有用例执行完毕,发送报警邮件

资料参考:
(1)Jmeter build.xml 文件:http://pan.baidu.com/s/1i46tMlR
(2)Jmeter 生成报告格式(参考 heman 贺满博客http://www.cnblogs.com/puresoul/http://pan.baidu.com/s/1kVssMzl):
(3)jmeter.properties(修改 jmeter 生成.jtl 文件内容配置):http://pan.baidu.com/s/1cyaNlc
(4)测试用例模版:http://pan.baidu.com/s/1hselPlU
(5)Jmeter 接口自动化引擎内容:http://pan.baidu.com/s/1geC34pt

本次搭建内容,多为参考前辈博客,如有侵权,请联系我个人(onthewatli@foxmail.com),谢谢


↙↙↙阅读原文可查看相关链接,并与作者交流