性能测试|JMeter 取样器(一)
取样器介绍
搜索微信公众号: 霍格沃兹测试学院,学习更多测试开发前沿技术
获取更多技术资料,请点击!
取样器是用来模拟用户操作的,向服务器发送请求以及接收服务器的响应数据。
取样器是在线程组内部的元件,也就是说取样器只能在线程组中添加。
取样器(Sampler)是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元。(取样器通常要进行这三个工作)
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 Request
JMS 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。
总结:
取样器的作用是向服务器发送请求,记录响应信息,记录响应时间。
多个取样器按照它们在树中出现的顺序运行。
“HTTP 请求”为例介绍一下取样器
根据上图解释说明:
(1)HTTP Request:
名称(Name):取样器名称,也就是需要访问接口的名称。
建议写成请求接口的地址,例如:/login 这样在有多个取样器的时候,左侧列表就可以知道该取样器是针对哪个接口的。
注释(Comments):对当前取样器的解释说明。
(2)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 端口。
(3)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 进行解压。
评论