当前位置:网站首页>2022全网最全最细的jmeter接口测试教程以及接口测试流程详解— JMeter测试计划元件(线程<用户>)
2022全网最全最细的jmeter接口测试教程以及接口测试流程详解— JMeter测试计划元件(线程<用户>)
2022-06-24 09:46:00 【测试-八戒】
(1)取样器介绍
取样器是用来模拟用户操作的,向服务器发送请求以及接收服务器的响应数据。
取样器是在线程组内部的元件,也就是说取样器只能在线程组中添加。
取样器(Sampler)是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元。(取样器通常要进行三个工作)
(2)JMeter自带的取样器
HTTP Request
:HTTP请求Flow Control Action
:测试活动Debug Sampler
:Debug取样器JSR223 Sampler
:JSR223取样器AJP/1.3 Sampler
:AJP/1.3取样器Access Log Sampler
:Access Log取样器Bean Shell Sampler
:Bean Shell取样器FTP Request
:FTP请求JDBC Request
:JDBC RequestJMS Publisher
:JMS发布JMS Point-to-Point
:JMS点到点JMS Subscriber
:JMS订阅JUnit Request
:JUnit请求Java Request
:Java请求LDAP Extended Request
:LDAP扩展请求默认值LDAP Request
:LDAP请求OS Process Sampler
:OS进程取样器SMTP Sampler
:SMTP取样器TCP Sampler
:TCP取样器Mail Reader Sampler
:邮件阅读者取样器
说明:
- 在测试工作中用的最多的可能就是“HTTP请求”。
- 每一种不同类型的sampler可以根据设置的参数向服务器发出不同类型的请求。
- 在JMeter的所有Sampler中,
Java Request Sampler
与Bean Shell Sampler
是两种特殊的可定制的Sampler。
总结:
- 取样器的作用是向服务器发送请求,记录响应信息,记录响应时间。
- 多个取样器按照它们在树中出现的顺序运行。
(3)“HTTP请求”为例介绍一下取样器
根据上图解释说明:
HTTP Request:
名称(Name)
:取样器名称,也就是需要访问接口的名称。
建议写成请求接口的地址,例如:/login
这样在有多个取样器的时候,左侧列表就可以知道该取样器是针对哪个接口的。注释(Comments)
:对当前取样器的解释说明。
Web服务器:
协议<Protocol(http)>
:向目标服务器发送HTTP请求时的协议,可以是http或者是https或者File ,默认值为http协议 (根据需求定)。服务器名称或IP(Server Name or IP)
:HTTP请求发送目标服务器的域名或IP地址,例如www.baidu.com
或者127.0.0.1
。端口号(Port Number)
:所访问服务器中应用所占的端口,默认80端口。
HTTP请求:
1)方法(Method)
:
发送HTTP请求的请求方式。(可以根据接口文档获得)
请求方式包括:GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等。
2)路径(Path)
:
目标接口的URL路径(不包括服务器地址和端口)。
也可以直接写完整路径(上面配置的IP+端口就可以省略了) ,不带参数的api路径。
3)内容编码(Content encoding)
:
请求数据内容的编码方式,默认值为iso8859
编码,但一般content encoding
配置为UTF-8
,来防止中文乱码。
说明一下Content encoding
属性:Accept-Encoding
和Content-Encoding
是HTTP中用来对采用哪种编码格式传输正文进行协定的一对头部字段。
工作原理如下:
1、首先浏览器(也就是客户端)发送请求时,通过Accept-Encoding
带上自己支持的内容编码格式列表。
2、服务端在接收到请求后,从中挑选出一种用来对响应信息进行编码,并通过Content-Encoding
来说明服务端选定的编码信息。
3、浏览器在拿到响应正文后,依据Content-Encoding
进行解压。
4)自动重定向
:
如果选中该选项,当发送HTTP请求后得到的响应是302/301时,JMeter会自动重定向到新的页面,但是JMeter是不记录重定向的过程内容。只能用于GET和HEAD方法,如果是POST或者PUT请求则取样器不会发送。
301、302响应码说明:
官方的比较简洁的说明:
- 301 redirect:301 代表永久性转移(Permanently Moved)
- 302 redirect: 302 代表暂时性转移(Temporarily Moved )
详细来说,
它们的共同点301和302状态码都表示重定向,就是说浏览器在拿到服务器返回的这个状态码后会自动跳转到一个新的URL地址,这个地址可以从响应的Location首部中获取(用户看到的效果就是他输入的地址A瞬间变成了另一个地址B)
他们的不同在于。301表示旧地址A的资源已经被永久地移除了(这个资源不可访问了),搜索引擎在抓取新内容的同时也将旧的网址交换为重定向之后的网址;302表示旧地址A的资源还在(仍然可以访问),这个重定向只是临时地从旧地址A跳转到地址B,搜索引擎会抓取新的内容而保存旧的网址。
总结:
http 协议的 301 和 302 状态码都代表重定向。浏览器请求某url收到这两个状态码时,都会显示和跳转到 Response Headers 中的Location。即在浏览器地址输入 url A,却自动跳转到url B。
5)跟随重定向
:Http Request
取样器的默认选项,当响应code是3xx时,自动跳转到目标地址。与自动重定向不同,JMeter会记录重定向过程中的所有请求响应,在查看结果树时可以看到服务器返回的内容,如有多个跳转则多个请求都会被记录下来,此为默认选项。
自动重定向和跟随重定向的区别只在于是否记录多个跳转的请求上。
在JMeter默认选中跟随重定向
,但跟随重定向
与自动重定向
只能二选一。
重点:配套学习资料和视频教学
那么在这里我也精心准备了上述大纲的详细资料在下方链接如下
边栏推荐
- canvas掉落的小球重力js特效动画
- tf.contrib.layers.batch_norm
- 5.菜品管理业务开发
- Normal equation
- Tutorial (5.0) 08 Fortinet security architecture integration and fortixdr * fortiedr * Fortinet network security expert NSE 5
- 线程池的状态
- Recursive traversal of 414 binary tree
- Leetcode-1089: replication zero
- 413 binary tree Foundation
- Graffiti smart brings a variety of heavy smart lighting solutions to the 2022 American International Lighting Exhibition
猜你喜欢
随机推荐
学习整理在php中使用KindEditor富文本编辑器
tf. contrib. layers. batch_ norm
Uniapp develops a wechat applet to display the map function, and click it to open Gaode or Tencent map.
Get the QR code of wechat applet with parameters - and share the source code of modifying the QR code logo
Nvisual digital infrastructure operation management software platform
利用pandas读取SQL Sever数据表
numpy.logical_and()
Web site development, lazy image loading
leetCode-2221: 数组的三角和
线程池的执行流程
时尚的弹出模态登录注册窗口
Mise en œuvre du rendu de liste et du rendu conditionnel pour l'apprentissage des applets Wechat.
Floating point notation (summarized from cs61c and CMU CSAPP)
Role of message queuing
整理接口性能优化技巧,干掉慢代码
Desktop software development framework reward
[input method] so far, there are so many Chinese character input methods!
SQL Sever关于like操作符(包括字段数据自动填充空格问题)
canvas掉落的小球重力js特效动画
leetCode-1089: 复写零