个人学习背景:公司的两款app进入维护阶段,往后不会有过多新需求改动接口,于是想通过Jmeter实现接口的自动化回归测试,节省出人力,也能覆盖的更全面。
Jmeter录制web http接口请求
一、录制作用:可以更快捷的导入http请求,准确填充好url、参数、http请求头等信息,方便后续流程,可节省很多时间。
二、安装Jmeter,非常简单,官网下载包,bin目录打开jmeter.bat即可。
三、录制前配置:
1、在测试计划下新建http代理服务器(即HTTP(S) Test Script Recorder)
2、在测试计划下新建一个线程组,用于保存录制时抓取到的http请求
3、配置代理服务器,说明文档配置项解释如下:
打开说明文档:打开Jmeter目录下printable_docs/index.html,找到Component reference,即进入到功能目录,
找到对应功能,比如本次我们需要寻找代理服务器的配置方法,则找到HTTP(S) Test Script Recorder,点击进入
0)、安装证书
点击一下启动,bin目录下会生成一个证书文件:ApacheJMeterTemporaryRootCA.crt,双击将证书安装到电脑上
1)、配置端口
填入端口,注意关闭其他相同端口的代理服务器。
2)、目标控制器
即抓取到的http请求存放位置,此处选择前边添加的线程组
3)、分组
默认是不分组,但是分组可以根据请求时间把请求物理分区,更利于后续编辑,所以此处选择每个组放入一个新的控制器(控制器:可以理解为文件夹,分区作用)
4)、请求过滤
Content-type过滤和url过滤,此处我主要需要配置url过滤,url设置包含域名时需要严重注意此处域名后必须加上.* 否者抓取不到想要的请求,此处踩坑2次,记录一下。
5)、配置internet
设置局域网的http代理地址为127.0.0.1端口为前面jmeter中填写的端口号
四、执行录制
点击启动,弹出证书弹窗,证书有效期只有7天,过期需要重新安装。确认证书在有效期,点击ok。
打开谷歌浏览器,访问目标网址,查看Jmeter中是否已经抓取到请求
我遇到两次问题,检查jmeter配置没问题,局域网设置没问题。但是浏览器访问网页之后线程组里始终没有任何请求,试了下把jmeter里目标控制器改成http代理服务器,重启,再次访问网页就有数据了。再把目标控制器改回线程组,线程组里也对了。搞不懂。
至此,jmeter录制web http接口成功!
纪念我的第一篇博文,撒花~~~
好好学习,天天向上~~~