写点什么

性能测试|JMeter 取样器(一)

  • 2023-07-04
    北京
  • 本文字数:1321 字

    阅读完需:约 4 分钟

取样器介绍


搜索微信公众号: 霍格沃兹测试学院,学习更多测试开发前沿技术


获取更多技术资料,请点击!


取样器是用来模拟用户操作的,向服务器发送请求以及接收服务器的响应数据。


取样器是在线程组内部的元件,也就是说取样器只能在线程组中添加。


取样器(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 进行解压。


获取更多技术资料,请点击!

用户头像

社区:ceshiren.com 微信:ceshiren2021 2019-10-23 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料,实时更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬。

评论

发布
暂无评论
性能测试|JMeter取样器(一)_霍格沃兹测试开发学社_InfoQ写作社区