前言
在JMeter中,取样器(Sampler)用于模拟用户请求并收集相应的请求和响应数据。取样器可以发送各种类型的请求,如HTTP请求、FTP请求、数据库请求等。它们模拟了用户的行为并向被测系统发送请求,并将返回的响应数据收集到测试结果中。取样器是JMeter测试计划中最重要的组件之一,用于模拟用户的行为并测量系统的性能和稳定性。常用的就是HTTP请求和Debug Sampler这两个取样器。
一、HTTP请求
路径:线程组右击添加-取样器-HTTP请求
功能:JMeter中的HTTP请求功能是用于模拟HTTP请求,并用于性能测试和负载测试。
关键特性:
1.支持多种HTTP请求方法:JMeter支持GET,POST,PUT,DELETE等常见的HTTP请求方法。
2.支持HTTPS:JMeter可以模拟HTTPS请求,并支持SSL和TLS协议。
3.支持设置请求头:可以在HTTP请求中设置自定义的请求头,如User-Agent,Referer等。
4.支持参数化:可以在HTTP请求中使用变量和函数,实现参数化,比如从CSV文件中读取数据,或者使用随机数等。
5.支持Cookie管理:可以自动处理服务器返回的Cookie,并在后续的请求中自动发送。
6.支持断言:可以对服务器返回的响应进行断言,验证响应的内容、状态码等。
7.支持响应处理:可以对服务器返回的响应进行处理,比如提取关键信息、保存到文件等。
8.支持并发压力测试:可以同时模拟多个并发请求,用于测试系统在高并发情况下的性能。
9.支持分布式测试:可以使用JMeter的分布式模式,将负载分散到多个JMeter实例上进行测试。
例如以http://www.luffycity.com:80/news/index.html?id=250&page=1请求
那么对应上图中的1~8应该填写:
协议:http(协议类型,一般为http或者https)
服务器地址:www.luffycity.com
端口号:80,http默认为80,https默认为443,非必须强调可不写
请求方式:按照所需选择GET、POST等
路径:/news/index.html?id=250&page=1
内容编码:一般来说可不写,如果请求体中有中文,那么必须加上UTF-8
参数/消息体数据:按照请求头中的Content-Type的类型,一般分为x-www-form-urlencoded和Json,x-www-form-urlencoded就是表格类型使用参数,Json就是Json格式使用消息体数据。
二、Debug Sampler
路径:线程组右击添加-取样器-Debug Sampler
功能:用于在测试过程中输出调试信息。当启用Debug Sampler时,它将记录一些有用的调试信息,如请求的参数、响应的状态码、响应的内容等。这对于调试测试计划或查看请求和响应的详细信息非常有用。
需要注意的是,Debug Sampler会记录大量的详细信息,可能会导致测试结果文件变得很大。因此,在生产环境中不建议使用Debug Sampler,仅在开发和调试阶段使用。
如图,在查看结果数中通过调试取样器可以查看后置处理器的getpageid取值。