上文我们介绍了JMeter取样器的部分内容,本文我们继续介绍JMeter取样器的功能。
自动重定向
如果选中该选项,当发送HTTP请求后得到的响应是302/301时,JMeter会自动重定向到新的页面,但是JMeter是不记录重定向的过程内容。只能用于GET和HEAD方法,如果是POST或者PUT请求则取样器不会发送。
跟随重定向
Http Request取样器的默认选项,当响应code是3xx时,自动跳转到目标地址。与自动重定向不同,JMeter会记录重定向过程中的所有请求响应,在查看结果树时可以看到服务器返回的内容,如有多个跳转则多个请求都会被记录下来,此为默认选项。
自动重定向和跟随重定向的区别只在于是否记录多个跳转的请求上。
在JMeter默认选中跟随重定向,但跟随重定向与自动重定向只能二选一。
使用keep Alive
当该选项被选中时,JMeter和目标服务器之间使用Keep-Alive方式进行HTTP通信,默认选中。
HTTP请求中Keep-Alive模式说明:
如果一个浏览器对某一个域名有多个请求,就会进行频繁的建立连接和断开连接。所以HTTP 1.0中出现了Connection: keep-alive属性,用于建立长连接,即我们所说的Keep-Alive模式。
Keep-Alive模式更加高效,因为避免连接频繁建立和释放的开销。
对POST使用multipart/form-data
使用multipart/from-data或
application/x-www-form-urlencoded方式发送HTTP POST请求,默认不选中。
说明POST请求表单提交的编码类型:
multipart/from-data或
application/x-www-form-urlencoded用来控制请求向服务器发送表单数据之前如何对其进行编码。
enctype属性 说明
application/x-www-form-urlencoded 默认编码方式, key1=value1&key2=value2。
multipart/form-data 普通表单提交,以及表单文件上传。
text/plain 以纯文本形式进行编码,其中不含任何控件或格式字符,该方式不常用。
与浏览器兼容的头(Browser-compatible headers)
当勾选multipart/form-data时,勾选此项会截掉HTTP请求头中的Content-Type和Content-Transfer-Encoding,而只发送Content-Disposition部分。
同请求一起发送参数:
参数(Parameters)
在请求中发送带参数的URL ,JMeter提供了一个简单的对参数化的方法。用户可以将URL中所有参数设置在本表中,表中的每一行是一个参数值对(对应RUL中的 名称1=值1)。
编码这个选项最好勾选,因为如果参数值内含有ASCII Control Chars或者Non-ASCII characters或者其他符号的话,如果不勾选会导致发送失败(乱码问题),勾选的话会自动将含有的这些特殊符号进行编码。
消息体数据(Body Data)
通请求一起发送的数据消息,这里可以支持多种数据格式 json、xml等。
例如:
参数格式:name=zhangsan&age=15的形式。(参数以纯文本形式)
参数格式:json形式。(需要配置http信息头管理器,添加Context-Type = application/json)
注意:Parameters和Body Data只能选用其中一种方式发送参数。
文件上传(Files Upload)
在请求中发送文件。通常HTTP文件上传行为可以通过这种方式模拟,参数名称就是发送文件对应的参数,MINE Type为资源媒体类型。