接口测试 从 0 到 1,用 Jmeter 搭建 HTTP 接口自动化引擎 1.0 版本
百度网盘地址更新: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
- 如果http请求是post
2.2.7 post请求配置逻辑
- 获取post请求数据
- BeanShell断言内容
断言内容解析:
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,发送报警邮件
}
- 判断是否发送邮件
- 利用SMTP Sampler发送邮件
2.2.8 get请求配置逻辑
2.2.9 所有用例执行完毕,发送报警邮件
邮件内容如下:
至此,Jmeter HTTP接口自动化引擎搭建完毕
还可以利用jenkins定时执行Jmeter引擎,从而实现对线上接口的监控
资料参考:
(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
接口测试 从 0 到 1,用 Jmeter 搭建 HTTP 接口自动化引擎 1.0 版本的更多相关文章
- Jenkins+Ant+Jmeter搭建轻量级接口自动化
软件准备 本文所用软件版本如下: Jenkins2.176.1 Tomcat9.0.21 Ant1.9.14 Jmeter5.1.1 我已经把相应的软件上传到我的网盘中,下载地址如下: 下载链接:ht ...
- Jmeter+ant+Jenkins接口自动化框架搭建
摘自:https://testerhome.com/topics/13389 一.背景 上一篇讲了Jmeter 接口自动化-脚本数据分离实例,我们知道怎么利用Jmeter去编写接口自动化脚本,但是接 ...
- Jmeter+Ant+Jenkins接口自动化持续集成环境搭建(Linux)
一.安装说明 系统环境:CentOS release 6.4 JDK版本:jdk1.8.0_181 Jmeter版本:apache-jmeter-3.0 Ant版本:apache-ant-1.9.13 ...
- Win10系统Jmeter+maven+Jenkins接口自动化环境搭建(一)
Jmeter+maven+Jenkins实现接口自动化,需要使用idea或eclipse配置maven项目,这里我使用的是idea.具体步骤如下: 1.安装jmeter+jdk jmeter安装之前需 ...
- jmeter beanshell断言接口自动化实例
一.JMeter介绍 Apache JMeter是一款优秀的开源性能测试工具,在国外无论是在性能测试还是接口测试领域都有着非常高的使用率,但由于本身没有完善的中文文档以及典型开源工具特点(界面不美观) ...
- Jmeter+Ant+Jenkins接口自动化框架
最近应公司要求,搭建一套接口自动化环境.看到通知邮件,没有多想就确定了Jmeter路线.可能有些人会 说,为啥不用python,相对而言高大上一些.因为公司内部现在项目有用到Jmeter,正好可以结合 ...
- jenkins / ant / jmeter 持续集成接口自动化
1. 将 jmeter 脚本放在/var/lib/jenkins/workspace/Jmeter_auto/jmxpath路径下 2. 点击http://jk.facebank.net.cn/job ...
- python学习笔记(接口自动化框架 V2.0)
这个是根据上次框架版本进行的优化 用python获取excel文件中测试用例数据 通过requets测试接口.并使用正则表达式验证响应信息内容 生成xml文件测试报告 版本更新内容: 1. 整理了Cr ...
- ython学习笔记(接口自动化框架 V2.0)
这个是根据上次框架版本进行的优化 用python获取excel文件中测试用例数据 通过requets测试接口.并使用正则表达式验证响应信息内容 生成xml文件测试报告 版本更新内容: 1. 整理了Cr ...
随机推荐
- 《HBase在滴滴出行的应用场景和最佳实践》
HBase在滴滴出行的应用场景和最佳实践 背景 对接业务类型 HBase是建立在Hadoop生态之上的Database,源生对离线任务支持友好,又因为LSM树是一个优秀的高吞吐数据库结构,所以同时 ...
- Luogu P4585 [FJOI2015]火星商店问题
颓文化课作业到很晚写篇博客清醒一下 首先我们仔细阅读并猜测了题意之后,就会想到一个暴力的线段树套可持久化0/1Trie的做法,但是它显然是过不去的 由于最近再做线段树分治的题,我们可以想到用线段树分治 ...
- C++ 实现 查找进程, 杀死进程, 启动进程, 进程重启
头文件: #include <Windows.h>#include <tlhelp32.h>#include <tchar.h>#include <Shell ...
- Flink101-快速示例
验证本文需要具备Docker及Docker-composer,作者使用的环境为Mac + Docker Docker启动Flink集群 首先下载Flink的镜像docker pull flink,我下 ...
- sierpinski地毯(II)
今天又是因为可以用py而高兴的一天. 继续咱的sierpinski地毯计划. 二,随机算法 在二十年前,磁盘容量以MB还是KB计的时候,分形解决计图的问题确实有很大的优势.存至多十来个数就好了.我要在 ...
- centos crontab定时任务用法
一.安装crond服务 yum -y update yum -y install cronie yum-cron 二.crontab任务语法 crontab任务配置基本格式: * * * * * co ...
- Python-绘制3D柱形图
Python-绘制3D柱形图 本文主要讲解如何使用python绘制三维的柱形图,可以得到图1所示的效果. 图1 源代码如下: import numpy as np import matplotlib. ...
- windows 安装gitea
gitea 地址https://github.com/go-gitea/gitea windows 安装
- SQL Server中,如何查看每个数据库的Owner是哪个SQL Server账户,也就是谁创建的
有时候我们作为SQL Server的DBA,会需要查找每个数据库的Owner是哪个SQL Server账户,也就是谁创建的. 我们可以使用系统存储过程"sys.sp_helpdb" ...
- python numba讲解
目录 一:什么是numba 二:如何使用numba 由于python有动态解释性语言的特性,跑起代码来相比java.c++要慢很多,尤其在做科学计算的时候,十亿百亿级别的运算,让python的这种 ...