jmeter(2)-HTTP sample详解
一.取样器-HTTP请求
http之get请求:
http之post请求:
Content encoding:一般content encoding配置为utf8;或者iso8859
是一个实体消息首部,用于对特定媒体类型的数据进行压缩。当这个首部出现的时候,它的值表示消息主体进行了何种方式的内容编码转换。这个消息首部用来告知客户端应该怎样解码才能获取在 Content-Type
中标示的媒体类型内容
参数Parameters:请求参数,当请求中需要参数时,选择Parameters后点击下方的Add添加一个键值对输入栏,输入相应的Key和Value(也就是Name和Value),如果参数值存在中文,则需要勾选Encode(编码)??
消息体数据Body Data:请求参数
post请求-参数以name=zhangsan&age=15的格式,添加Context-Type =x-www-form-urlencoded
post请求-参数以json格式(需要配置http信息头管理器,添加Context-Type = application/json)
参考另一篇文章,根据不同Context-Type来填写参数
jmeter自动重定向与跟随重定向区别:
自动重定向:HttpClient接收到请求后,如果请求中包含重定向请求,HttpClient是可以自动跳转的,但是只针对GET和Head请求,勾选此项则“跟随重定向”失效;自动重定向可以自动转向到最终目标页面,但是JMeter是不记录重定向过程内容的,比如在查看结果树中是无法找到重定向过程内容的(A重定向到B,此时只记录B的内容不记录A的内容,A的响应内容我们暂时且叫过程内容),如果此时你想做关联,那就比较遗憾了,你无法关联到。
跟随重定向:Http Request取样器的默认选项,但响应Code是3XX时(比如301是重定向),自动跳转至目标地址。与自动重定向不同,JMeter会记录重定向过程中的所有请求响应,在查看结果树时可以看到服务器返回的内容,所以你可以对响应的内容做关联比如你要测试登录,你把POST请求改为跟随重定向就可以了。
参考博客:https://www.cnblogs.com/yaohanbaby/p/7744214.html感谢博主!
使用KeepAlive:当该选项被选中时,jmeter 和目标服务器之间使用 Keep-Alive方式进行HTTP通信,默认选中。
支持的长链接形式:就是http协议基于tcp协议进行工作,http请求每一次发送请求的时候都要先使用tcp协议三次握手。如果你不使用keepalive,每一次发送请求的时候都需要通过tcp进行建立链接。如果勾选,就可以省去每一次请求的时候建立tcp的过程。但是http请求是无状态的长链接,每一次请求都是一种独立的。没有流程性的,比如用户购买一件商品,不需要走流程,比如再登录-----,http请求就是每一个接口都可以进行独立的调用。
高级设置:
Client implementation
实现:发送http请求的方式,可选项为java和HttpClient4,默认为HttpClient4;
超时(毫秒):Timeouts(milliseconds)
连接:连接超时时间,单位为毫秒;
响应:响应等待超时时间,单位为毫秒;
从HTML文件嵌入资源:
从HTML文件获取所有内含的资源:当该选项被选中时,jmeter在发出HTTP请求并获得响应的HTML文件内容后,还对该HTML进行解析 并获取HTML中包含的所有资源(图片、flash等),默认不选中,如果用户只希望获取页面中的特定资源,可以在下方的Embedded URLs must match 文本框中填入需要下载的特定资源表达式,这样,只有能匹配指定正则表达式的URL指向资源会被下载。
Parallel downloads:是否使用自设资源池,勾选后可设置大小;
Number:资源池大小,默认为6。
URLs must match:URL匹配过滤,填写此项则只会下载与此内容项匹配的url的资源,例如要获取http://example.com/下的所有资源,使用正则表达式http://example.com/.*;
源地址:只用于http协议且Implementation为HttpClient4的情况。
此属性用于启用IP欺骗。会重写了这个http请求使用的默认本地IP地址。用于Jmeter主机具有多个IP地址(即IP别名、网络接口、设备)的情况。该值可以是主机名、IP地址或网络接口设备,如“ey0”或“l0”或“wlan0”。
- IP/Hostname:IP /主机名以使用特定的IP地址或(本地)主机名
- Device:选择设备以选择该接口的第一个可用地址,该设备可以是IPv4或IPv6。
- Device IPV4:选择IPv4设备来选择名称设备的IPv4地址(如eth0, lo, em0);
- Device IPV6:选择IPv6设备来选择名称设备的IPv4地址(如eth0, lo, em0);
Proxy Server(比如不想用本机的地址来发送Http请求而想使用代理服务器则填写这部分)
服务器名称或IP:代理服务器的名称或者IP地址;
端口号:该代理的端口号;
用户名:使用该代理的用户名;
密码:用户密码;
其他任务
Save response as MD5 hash:选中该项,在执行时仅记录服务端响应数据的MD5值,而不记录完整的响应数据。在需要进行数据量非常大的测试时,建议选中该项以减少取样器记录响应数据的开销;
参考博文:https://blog.csdn.net/df0128/article/details/80496211 感谢博主!