导读
- 前言
- 测试环境准备
- HTTP Request Sampler介绍
- HTTP Authorization Manager
- HTTP Header Manager
- HTTP Cookie Manager
1、前言
(1)对于Web端项目,大多数压测都是针对HTTP请求的,还有一些FTP、JDBC、JAVA等请求,接下来我们会按照请求的种类介绍一些知识点;
(2)压测有两种情况,第一种是录制请求,然后修改请求参数,压测;另一种是根据接口文档手写构造请求,压测;前面我们演示了如何录制请求,本节来看看手写构造请求。
2、测试环境准备
这里提供一个接口服务端,大家可以加QQ群:460430320,下载storm.py文件,然后再本地运行即可,参考步骤
- 准备python环境
- 安装tornado
- python storm.py即可运行
有关接口的文档请参考,https://www.showdoc.cc/web/#/storm123
3、HTTP Request
(1)添加HTTP Request方法如下图所示:
(2)HTTP Request的页面如下图:
- Name:请求的名称
- Comments:备注
- Basic页签下面包含
- Web Server
- Protocol[http]:这个框填用到的协议,http或https
- Server Name or IP:填请求服务器的名或IP地址
- Port Number:填请求服务的端口,如果不填的话,http服务默认请求80端口,https默认请求443端口
- HTTP Request
- Method:请求的方法Get、Post等
- Path:请求的路径
- Content encoding:编码格式,可以是UTF-8
- Redirect Automatically:自动重定向
- Follow Redirect:跟随重定向
- Use KeepAlive:使用长连接
- use multilpart/form-data for POST:传参的一种格式
- Browser-compatible headers:浏览器兼容头
- Parameter:参数在这个页签添加
- Body Data:请求的body数据在这里添加
- Files Upload:上传文件的话,在这里添加文件
- Web Server
(3)上面这么说不太直观,我们来用准备好的环境验证一下
接口1:https://www.showdoc.cc/web/#/storm123?page_id=11919631400811
构造结果如下:
先看上图红框中的几部分,理解一下,发送完成后,看查看结果树
(4)接口2:https://www.showdoc.cc/web/#/storm123?page_id=11947840574690
上面的截图,我们将server名换成了ip地址,仍然有效
该接口请求传参为json格式,所以放到了Body Data下面
(5)接口3
这是一个上传文件的接口,我们需要安装上图来传参。
(6)自动重定向:HttpClient接收到请求后,如果请求中包含重定向请求,HttpClient是可以自动跳转的,但是只针对GET和Head请求,勾选此项则“跟随重定向”失效;自动重定向可以自动转向到最终目标页面,但是JMeter是不记录重定向过程内容的,比如在查看结果树中是无法找到重定向过程内容的(A重定向到B,此时只记录B的内容不记录A的内容,A的响应内容我们暂时且叫过程内容),如果此时你想做关联,那就比较遗憾了,你无法关联到。
跟随重定向:Http Request取样器的默认选项,但响应Code是3XX时(比如301是重定向),自动跳转至目标地址。与自动重定向不同,JMeter会记录重定向过程中的所有请求响应,在查看结果树时可以看到服务器返回的内容,所以你可以对响应的内容做关联
比如你要测试登录,你把POST请求改为跟随重定向就可以了
basic下面的参数基本讲完了,如果了解接口测试的内容的话,比较容易理解。如果不了解接口测试的话,建议看看我前面的文章接口测试工具Postman使用实践:
(7)来看看Advanced页签
其中用的最多的Proxy Server的设置
4、HTTP Authorization Manager
当请求需要权限认证的时候,在这里配置
接口:https://www.showdoc.cc/web/#/storm123?page_id=11957152124006
构造如下图:
5、HTTP Header Manager
当请求需要配置header的时候,在这里
接口:https://www.showdoc.cc/web/#/storm123?page_id=11960723369910
6、HTTP Cookie Manager
如果请求需要cookie,在这里配置
接口:https://www.showdoc.cc/web/#/storm123?page_id=11964140389726
7、小结
本章自己感觉讲解的不太清楚,主要是需要大家了解一些接口测试的知识。请大家先看看我上面提到的postman测试接口的文章吧。如果还有疑问就QQ群里讨论吧,谢谢了。