jmeter核心组件之取样器
JMeter原生支持不同类型的取样器,如HTTP请求(HTTP Request)、FTP请求(FTP Request)、TCP请求(TCP Request)、JDBC请求(JDBC Request)等
不同的取样器可以通过设置参数向服务器发车不同类型的请求。
取样器是用来模拟用户操作的,它可以向服务器发送请求以及接收服务器的响应数据
HTTP请求
该取样器用于模拟各类的HTTP各种方法的请求,常见的有GET,POST
HTTP请求取样器主要有2个标签页,Basic页面中是一些常用的功能,在Advanced页面中可以进行高级应用测试
Name:取样器名称
Protocol[http]:默认为HTTP协议,还可以写HTTPS,根据实际情况来定
Server Name or IP:服务器的域名或者IP地址
Port Number:端口号
Method:接口请求方式(GET、POST、PUT等)
Path:请求接口地址
Content encoding:一般配置为UTF-8
Parameters:请求参数,当请求中需要参数时,选择Parameters后单击下方的Add按钮添加一个键值对输入栏,输入相应的键和值(也就是Name和Value),如果参数值存在中文,则需要选择URL Encode(编码)
Body Data:请求参数,Body Data指的是实体数据,就是请求报文里面的主体实体的内容,一般我们向服务器发送请求,可以将携带的主体实体参数写入这里,常见的格式为JSON格式。
Files Upload:从HTML文件获取所有内含的资源。此项被选中时,发出HTTP请求并获得响应的HTML文件内容后还对该HTML文件进行解析,并获取HTML中包含的所有资源。
Redirect Automatically:自动重定向。将基础的HTTP请求设置为自动重定向,选择此选项后JMeter将无法看到它们,只能观察到重定向后的最终结果。选择此选项表示,当发送HTTP请求后,若响应为301或302,JMeter会自动重定向到对应的新页面,但不会记录重定向的请求和响应内容。此选项应用于GET和HEAD请求,不能应用于POST或PUT请求。
Follow Redirect:跟随重定向。仅当未启用“自动重定向”时,此选项才有效。与自动重定向不同的是,设置了跟随重定向,JMeter将可以观察到整个重定向过程中的所有请求,无论重定向进行了多少次
Use KeepAlive:设置Connection:keep-alive头信息。当该选项被选择时,JMeter和目标服务器之间使用KeepAlive方式进行HTTP通信,默认选择此选项。在默认HTTP实现下它不起作用,因为连接重用不在用户控制之下。但在Apache HttpComponents HttpClient下它是起作用的
Use multipart/from-data:使用multipart/from-data或application/x-www-form-urlencoded方法发送HTTP。此选项应用于POST请求,默认不选。
Browser-compatible headers:与浏览器兼容的头。使用multipart/form-data时,设置的Content- Type和Content-Transfer-Encoding消息头将无效,仅发送Content-Disposition消息头
URL Encode:URL编码。HTTP请求中选择此选项,应用于两种场景。一种是传递的参数中含有特殊字符,如=,?,空格,&。例如,有个参数是aa=bb=cc,这到底是表达“aa”=“bb=cc”,还是“aa=bb”=“cc”呢?服务器会误解。选择URL Encode选项后,表达式被编码成aa=bb%xxcc,其中一个“=”被转换,这样就不会误解了。另一种是中文,对应到Java中的方法是urlencoding
Implementation:可选项为Java或HttpClient4,默认是HttpClient4。另外我们可以通过在jmeter.properties配置文件中修改jmeter.httpsampler的值来调整。
Timeouts中的Connect:连接超时。等待连接成功的毫秒数,如果超过设置的值则断言失败。
Timeouts中的Response:响应超时。等待获取响应的毫秒数,如果超过设置的值则断言失败。
Source address中的源地址类型:仅适用于具有HTTPClient实现的HTTP请求。
Proxy Server:代理服务器。若请求需要通过代理访问,在此处设置代理信息。
Save response as MD5 hash?:保存响应为MD5。如果选择此选项,则响应不会存储在样本结果中。否则,将计算并存储数据的32个字符的MD5哈希编码
JAVA请求