Jmeter HTTP接口案例开发、调试方法
- HTTP接口案例开发的步骤为:
1.了解要开发案例的业务流程,比如新增案例,是否有其它前置条件,如果有,就需要先开发好前置条件的案例
2.手工开发案例或者通过jmeter录制功能开发案例
3.对案例进行调试,响应结果和预期结果一致,则案例开发完成- 对于简单的案例,建议直接手工编写,涉及到上传附件、导入excel,等复杂案例建议录制脚本
一、开发脚本
手工编写脚本
1. 本次案例为新增角色,一般我们使用谷歌浏览器进行页面操作,然后按F12显示接口请求
2. 输入必填项,点击保存按钮,接口请求显示如下,根据经验可以判断新增请求接口类型为post,或者请求名称save,还有请求参数可以找到新增的接口如下:
3. 本次案例在通讯录管理》个人详情管理》特例用户设置菜单下,建议开发脚本层级通过循环控制器区分,如下所示:
4. 添加方法,右键点击需要添加控制器的菜单,添加》逻辑控制器》循环控制器
5. 新增角色,脚本如下,由于我们使用HTTP请求默认值、HTTP信息头管理器对域名、协议类型、端口、表头等进行管理,所以该请求这些参数不用填写
6. HTTP请求默认值:
7. HTTP信息头管理器,填写token和表头类型
8. Jmeter调试响应结果和页面响应结果一致,页面数据新增成功:
Jmeter录制脚本
1. 本次案例为批量导入用户,由于涉及到excel导入功能,如果对接口请求不熟悉,手动开发可能有压力,接口请求如下:
2. jmeter录制方法,首先设置代理,代理设置如下,打开浏览器,Internet选项,地址为127.0.0.1、端口只要未被占用就行,如8888,勾选为LAN使用服务器,点击确定按钮:
3. 设置好代理,就可以进行录制操作了,打开jmeter,操作如下图所示:
4. 点击启动按钮,就可以进行录制操作了,建议先打开谷歌浏览器,进入到个人详情管理界面,在打开代理进行录制,录制脚本如下:
5. 脚本需要修改Parameters中的appKey参数,该参数为应用id,还需要修改File Upload下的文件参数路径,修改成了相对路径,并且兼容windows和linux环境,并且删除了公共的协议、服务器、端口如下:
6. Jmeter调试响应结果和页面响应结果一致,页面数据新增成功
二、调试脚本
开发案例最重要的一个环节就是调试脚本,特别是接口自动化案例,经常需要维护,本模块讲解调试脚本的常用方法,熟悉了调试的方法,所有案例调试起来都不会感觉头痛了
常用的方法就是拿jmeter请求参数和fiddler抓包请求进行对比,看有哪些参数有问题,从而解决问题 HTTP的请求报文分为三个部分 请求行、请求头和请求体,格式如图:
1. 本次选择批量导入案例接口进行调试,jmeter执行结果请求如下:
2. 手动批量导入案例,fiddler抓包结果如下:
3. 经过对比发现,本次在jmeter运行失败,是由于请求头类型申明为application/json,不用申明表头类型,默认即可
4. 调试结果:
5. 根据以往的案例开发经验,调试报错,多半是变量为空、请求方法不正确,文件路径不正确,或者格式不正确导致,所以多用下Debug Sampler,该元件可以查看到所有变量
6. 有小伙伴会说,如果请求的参数太多,怎么对比,看起来会头晕,别怕,这里介绍一款工具给你,BCompare–代码比对工具,如果要比对的请求是json格式,首先需要进行格式转换,转换地址https://www.json.cn ,首先获取jmeter请求参数,转换完成,复制到compare文件对比框中,如下图所示
7. 然后通过手工请求,获取请求参数,这里可以直接使用F12调试,获取实际请求参数就行,不用通过fiddler获取,拷贝请求参数,因为是json格式,还是需要通过格式转换,如图所示
在介绍一个好用的功能,只需要在用户定义变量申明要测试的环境,不用为每次切换环境,而要修改很多全局变量而头疼,使用If控制器读取变量,就可以让脚本自动读取需要测试环境的变量,如下:
如果文章对你有帮助,欢迎关注本人公众号,公众号与本平台文章同步,方便大家查阅,本人会持续推出与测试有关的文章,与大家分享测试技术,每一篇原创文章都是用心编写,杜绝抄袭复制
QQ技术交流群:加群请输入验证信息 博客园
微信二维码关注公众号:
关注之后,回复资源下载,即可获取本人共享的各种资源下载地址