2020-03-20 jmeter接口测试、集成总结

一、接口简介

1、什么是接口

接口分为两种:程序接口、系统对外的接口
程序接口是指代码程序中类、方法或函数之间的交互;
系统对外的接口是指通过HTTP/SOAP等协议,对外提供调用并提供信息,比如:我的钢铁app、我的钢铁网我们通常所说的接口测试就指的是系统对外的接口;

2、接口类型

(1)REST接口——通过HTTP的get和post方式得到数据,返回报文为json格式,可以使用的工具有postman、jmeter等;
(2)SOAP接口——通过soap协议得到数据,相比REST接口能处理更加复杂的数据类型,请求报文和返回报文为xml格式,可以使用的工具有SoapUI、jmeter等;

3、接口组成

(1)URL:接口请求地址
(2)请求方法:get、post等
(3)请求参数:form、json等形式
(4)请求头:一般用于存放cookie、token等信息,与服务器进行校验
(5)响应参数:json形式,通过响应的状态码来进判断接口请求是否成功:1xx,2xx,3xx(正常),4xx,5xx(异常)

4、为什么要做接口测试

(1)可以提前介入测试,更早的发现问题
(2)可以发现UI 功能测试中不太容易触发的更底层的问题
(3)相对于ui测试的不稳定性,接口测试相对稳定

5、常见的接口测试工具

(1)postman
(2)jmeter
(3)soapui
本文档采用jmeter示例接口测试

6、接口测试步骤

(1)准备测试数据(非必选)
(2)通过工具发起请求
(3)验证响应

二、环境搭建

1、jdk安装

参考:https://www.cnblogs.com/gaobobo/p/10674934.html

2、jmeter安装配置

参考:https://www.cnblogs.com/siduoxiaohua/p/11127669.html

3、dubbo接口插件安装

将jmeter-plugins-dubbo-2.7.1-jar-with-dependencies.jar添加到\jmeter\lib\ext路径下,重启jmeter

4、tomcat安装

参考:https://blog.csdn.net/qq_41559516/article/details/81569145

三、接口获取

1、通过接口文档获取,接口文档由开发提供
2、抓包工具抓取(fiddler,安装:https://blog.csdn.net/yeyue0922/article/details/88718363)

四、jmeter接口测试示例

1、jmeter.properties文件配置

在jemter bin安装目录下修改jmeter.properties文件:
(1)sampleresult.default.encoding=UTF-8 请求编码
(2)CookieManager.save.cookies=true

2、隆众数据app(https)

(1)添加线程组


2020-03-20 jmeter接口测试、集成总结_第1张图片
图片.png

2020-03-20 jmeter接口测试、集成总结_第2张图片
图片.png

(2)添加取样器


2020-03-20 jmeter接口测试、集成总结_第3张图片
图片.png

2020-03-20 jmeter接口测试、集成总结_第4张图片
图片.png

(3)添加接口信息
form形式参数:
2020-03-20 jmeter接口测试、集成总结_第5张图片
图片.png

json形式参数:


2020-03-20 jmeter接口测试、集成总结_第6张图片
图片.png

(4)添加Header
2020-03-20 jmeter接口测试、集成总结_第7张图片
图片.png

2020-03-20 jmeter接口测试、集成总结_第8张图片
图片.png

(5)cookie管理器
2020-03-20 jmeter接口测试、集成总结_第9张图片
图片.png

2020-03-20 jmeter接口测试、集成总结_第10张图片
图片.png

2020-03-20 jmeter接口测试、集成总结_第11张图片
图片.png

(6)引用参数


2020-03-20 jmeter接口测试、集成总结_第12张图片
图片.png

2020-03-20 jmeter接口测试、集成总结_第13张图片
图片.png

2020-03-20 jmeter接口测试、集成总结_第14张图片
图片.png

2020-03-20 jmeter接口测试、集成总结_第15张图片
图片.png

(7)添加查看结果树


2020-03-20 jmeter接口测试、集成总结_第16张图片
图片.png

(8)断言
2020-03-20 jmeter接口测试、集成总结_第17张图片
图片.png

响应断言:
2020-03-20 jmeter接口测试、集成总结_第18张图片
图片.png

文本断言:
2020-03-20 jmeter接口测试、集成总结_第19张图片
图片.png

(9)运行用例:手工运行
手工运行:ctrl+s、ctrl+e、ctrl+r


2020-03-20 jmeter接口测试、集成总结_第20张图片
图片.png

定时运行:见下文
3、城市区域对外接口(dubbo)

(1)添加线程组


2020-03-20 jmeter接口测试、集成总结_第21张图片
图片.png

(2)添加取样器


2020-03-20 jmeter接口测试、集成总结_第22张图片
图片.png

(3)填写参数
2020-03-20 jmeter接口测试、集成总结_第23张图片
图片.png

(4)添加结果树


2020-03-20 jmeter接口测试、集成总结_第24张图片
图片.png

(5)运行用例

五、Git/GitHub使用

1、git下载安装

安装步骤参考:https://www.jianshu.com/p/a152f82c5e4a

2、GitHub注册及基本使用

注册步骤参考:https://blog.csdn.net/weixin_42693104/article/details/82584849

3、创建与合并分支

(1)邀请项目合作者
打开repository,点击settings,选择collaborators,在搜索框中搜索合作者账号(如:willcheng013),然后add,

2020-03-20 jmeter接口测试、集成总结_第25张图片
图片.png

2020-03-20 jmeter接口测试、集成总结_第26张图片
图片.png

点击“copy invite link”复制链接给相应开发者进行确认:
2020-03-20 jmeter接口测试、集成总结_第27张图片
图片.png

这样项目合作者就可以push代码到项目中来了
(2)下载项目至本地
在cmd窗口中,使用命令:
git clone [email protected]:willcheng013/mysteel_test.git
下载代码至本地
(3)创建分支并切换分支
Cmd中:git checkout -b chengyichuan
相当于一下两条命令:

git branch dev
git checkout dev

用git branch查看所有分支,当前分支前面会标一个*号


图片.png

(4)在分支上提交代码

git status
git add .
git commit -m”添加备注”
git push origin chengyichuan

至此,分支代码提交成功
(5)chengyichuan分支代码合并到master主分支
切换回master分支:git checkout master
合并代码:git merge chengyichuan
推送代码:git push origin master
(6)删除分支
git branch -d chengyichuan

六、定时执行

1、build.xml文件配置
2、目录结构
2020-03-20 jmeter接口测试、集成总结_第28张图片
图片.png
3、jerkins安装

安装Jenkins: https://jenkins.io/index.html
下载war包,放入tomcat中\webapps 目录下,启动tomcat,访问 http://localhost:8080/jenkins

4、Jenkins定时执行

启动Jenkins:
(1)在Jenkins中系统管理-系统设置中,配置Ant

2020-03-20 jmeter接口测试、集成总结_第29张图片
图片.png

(2)新建并配置项目
2020-03-20 jmeter接口测试、集成总结_第30张图片
图片.png

2020-03-20 jmeter接口测试、集成总结_第31张图片
图片.png

2020-03-20 jmeter接口测试、集成总结_第32张图片
图片.png

2020-03-20 jmeter接口测试、集成总结_第33张图片
图片.png

(3)构建后生成报告
2020-03-20 jmeter接口测试、集成总结_第34张图片
图片.png

参考:https://www.cnblogs.com/wulixia/p/11011793.html
jenkins配置邮件:https://www.jianshu.com/p/44d3ccc9512e

你可能感兴趣的:(2020-03-20 jmeter接口测试、集成总结)