JMeter 的主要测试组件总结如下:
1. 测试计划是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器
2. 线程组代表一定数量的并发用户,它可以用来模拟并发用户发送请求。实际的 请求内容在Sampler中定义,它被线程组包含。
3. 监听器负责收集测试结果,同时也被告知了结果显示的方式。
4. 逻辑控制器可以自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可 以模拟复杂的请求序列。
5. 断言可以用来判断请求响应的结果是否如用户所期望的。它可以用来隔离问题 域,即在确保功能正确的前提下执行压力测试。这个限制对于有效的测试是非常 有用的。
6. 配置元件维护Sampler需要的配置信息,并根据实际的需要会修改请求的内容
7. 前置处理器和后置处理器负责在生成请求之前和之后完成工作。前置处理器常 常用来修改请求的设置,后置处理器则常常用来处理响应的数据。
8. 定时器负责定义请求之间的延迟间隔。
9. 取样器(Sampler)是性能测试中向服务器发送请求,记录响应信息,记录响 应时间的最小单元,JMeter 原生支持多种不同的sampler ,如 HTTP Request Sampler 、 FTP Request Sample 、TCP Request Sample 、JDBC Request Sampler 等,每一种不同类型的 sampler 可以根据设置的参数向服务器发出不同 类型的请求
Jmeter(4):jmeter利用取样器中http发送请求
使用Jmeter发送HTTP请求
取样器是用来模拟用户操作,向服务器发送请求以及接收服务器的响应数 据的一类元件,其中HTTP请求取样器是用来模拟常用的http请求的
步骤如下:
步骤一:添加线程组
右击测试计划——添加——线程(用户)——线程组
如下图:
“线程组”的意思:JMeter是由Java实现的,并且使用一个Java线程来模拟一个用户,因此线程组 就是指一组用户的意思,换句话说一个线程组就是一组虚拟用户 这些虚拟用户用来模拟访问被测系统
①:线程数:这里就是指虚拟用户数,默认的输入是“1”,则表明模拟一个虚拟用户访问被测系统,如果想模拟100个用户,则此处输入100。
②:Ramp-Up时间(秒):虚拟用户增长时长。也就是说在规定时间内启动所有线程数
③:循环次数:该处设置一个虚拟用户做多少次的测试。默认为1,意味着一个虚拟用户做完一遍事情之后,该虚拟用户停止运行。如果选中“永远”,则意味着测试运行起来之后就根本停不下来了,除非你把它强制停止
步骤二:添加HTTP请求
右击线程组——添加——取样器——HTTP请求;如下图
基本界面选项介绍;如下图
名称:本属性用于标识一个取样器,建议使用一个有意义的名称
注释:对于测试没有任何作用,仅用户记录用户可读的注释信息
协议:向目标服务器发送HTTP请求时的协议,可以是http或者是https或者File , 默认值为http
服务器名称或IP :HTTP请求发送的目标服务器名称或IP地址
端口号:目标服务器的端口号,默认值为80,https的端口为443
http请求:发送HTTP请求的方法,可用方法包括GET、POST等
路径:目标URL路径(不包括服务器地址和端口)/可以写完整路径,但不规范
内容编码 :内容的编码方式,默认值为iso8859;一般都填入utf-8
自动重定向:如果选中该选项,当发送HTTP请求后得到的响应是302/301时,JMeter 会自动重定向到新的页面,但是Jmeter是不记录重定向的过程内容。
跟随重定向:Http Request取样器的默认选项,当响应code是3xx时,自动跳转 到目标地址。与自动重定向不同,Jmeter会记录重定向过程中的所有请求响应, 在查看结果树时可以看到服务器返回的内容,如有多个跳转则多个请求都会被记 录下来,此为默认选项
使用 keep Alive :当该选项被选中时,jmeter 和目标服务器之间使用 KeepAlive方式进行HTTP通信,默认选中。
对post使用multipart/from-data:当发送POST请求时,使用multipart/from-data 方法或者application/x-www-form-urlencoded方法发送,默认不选中。
与浏览器兼容的头:当勾选multipart/form-data时,勾选此项会截掉http请求头中 的Content-Type和Content-Transfer-Encoding,而只发送Content-Disposition部 分。
参数:可以将URL中所有参数设置在本表中,表中的每一行是一个参数值对,此 时编码这个选项设置为UTF-8并勾选最好,防止参数值内含有ASCII Control Chars或者Non-ASCII characters或者其他符号导致乱码问题。
消息体数据:同请求一起发送的数据信息,这里可以支持多种数据格式,json、 xml等;
文件上传:同请求一起发送的文件信息,参数名称就是发送文件对应的参数, MINE Type为资源媒体类型
高级界面选项介绍
实现:发送http请求的方式,可选项为java和HttpClient4,默认为HttpClient4
连接:连接超时时间设置,单位为毫秒
响应:响应等待超时时间设置,单位为毫秒
从HTML文件获取所有内含的资源:当该选项被选中时,jmeter在发出HTTP请求 并获得响应的HTML文件内容后,还对该HTML进行解析 并获取HTML中包含的 所有资源(图片、flash等)
并行下载:设置是否使用自设资源池,勾选后可设置大小
数量:资源池大小,默认为6
网址必须匹配:URL匹配过滤,填写此项则只会下载与此内容项匹配的url的资源
源地址:只用于http协议且Implementation为HttpClient4的情况,此属性用于启 用IP欺骗。会重写了这个http请求使用的默认本地IP地址。用于Jmeter主机具有 多个IP地址(即IP别名、网络接口、设备)的情况。该值可以是主机名、IP地址 或网络接口设备,如“ey0”或“l0”或“wlan0”。
代理服务器:代理服务器的相关配置信息
保存响应为MD5哈希:选中该项,在执行时仅记录服务端响应数据的MD5值, 而不记录完整的响应数据。在需要进行数据量非常大的测试时,建议选中该项以 减少取样器记录响应数据的开销
步骤三:添加http信息头管理器
在百度搜索上右击————添加——配置元件——添加http信息头管理,添加百度搜索的header头部信息
步骤四:添加察看结果树
在百度搜索上右击——添加——监听器——察看结果树
步骤五:点击运行
点击菜单栏中的三角图标开始运行,然后点击察看结果树,红色代表错误,绿色代表成功
重点:学习资料
600g的学习资料懂的都懂