当前位置:网站首页>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默认选中跟随重定向,但跟随重定向与自动重定向只能二选一。
重点:配套学习资料和视频教学
那么在这里我也精心准备了上述大纲的详细资料在下方链接如下


边栏推荐
- leetCode-929: 独特的电子邮件地址
- Nvisual digital infrastructure operation management software platform
- 学习使用php对字符串中的特殊符号进行过滤的方法
- Juul, the American e-cigarette giant, suffered a disaster, and all products were forced off the shelves
- Uniapp develops wechat official account, and the drop-down box selects the first one in the list by default
- 读取csv(tsv)文件出错
- H5网页如何在微信中自定义分享链接
- Cicflowmeter source code analysis and modification to meet requirements
- uniapp实现禁止video拖拽快进
- Three ways to use applicationcontextinitializer
猜你喜欢

Impdp leading schema message ora-31625 exception handling

Mise en œuvre du rendu de liste et du rendu conditionnel pour l'apprentissage des applets Wechat.

How does home office manage the data center network infrastructure?

1.项目环境搭建

Leetcode-498: diagonal traversal

一群骷髅在飞canvas动画js特效

leetCode-498: 对角线遍历

YOLOv6:又快又准的目标检测框架开源啦

Record the range of data that MySQL update will lock

411 stack and queue (20. valid parentheses, 1047. delete all adjacent duplicates in the string, 150. inverse Polish expression evaluation, 239. sliding window maximum, 347. the first k high-frequency
随机推荐
leetCode-1089: 复写零
Uniapp implementation forbids video drag fast forward
学习整理在php中使用KindEditor富文本编辑器
tf. errors
Getting user information for applet learning (getuserprofile and getUserInfo)
411 stack and queue (20. valid parentheses, 1047. delete all adjacent duplicates in the string, 150. inverse Polish expression evaluation, 239. sliding window maximum, 347. the first k high-frequency
leetCode-2221: 数组的三角和
植物生长h5动画js特效
物联网?快来看 Arduino 上云啦
uniapp 开发微信公众号,下拉框默认选中列表第一个
线程的六种状态
SQL Sever关于like操作符(包括字段数据自动填充空格问题)
How to improve the efficiency of network infrastructure troubleshooting and bid farewell to data blackouts?
Troubleshooting steps for Oracle pool connection request timeout
411-栈和队列(20. 有效的括号、1047. 删除字符串中的所有相邻重复项、150. 逆波兰表达式求值、239. 滑动窗口最大值、347. 前 K 个高频元素)
线程的 sleep() 方法与 wait() 方法的区别
Queue queue
2.登陆退出功能开发
415 binary tree (144. preorder traversal of binary tree, 145. postorder traversal of binary tree, 94. inorder traversal of binary tree)
SQL sever基本数据类型详解