目前JMeter在接口测试和性能测试的市场占用率很高,最大的原因是其开源性、易扩展和轻量级(这是LoadRunner所不具备的),同时JMeter还可以满足多种协议的接口和性能测试(这是其他开源工具不具备的)。
JMeter的使?流程
简介
JMeter是?款在国外?常流?和受欢迎的开源性能测试?具,像LoadRunner?样,它也提供了?个利?本地Proxy Server(代理服务器)来录制?成测试脚本的功能,但是这个功能并不好?。
安装
设置语?
Options –》Choose Language——》Chinese (Simplified) 这种重启之后就失效了
进?meter的bin?录,找到“jmeter.properties”?件,添加“language=zh_CN”,保存之后再打开jmeter就永久变为中?环境了。
主要元件
1、测试计划:是使? JMeter 进?测试的起点,它是其它 JMeter测试元件的容器
2、线程组:代表?定数量的?户,它可以?来模拟?户并发发送请求。实际的请求内容在Sampler中定义,它被线程组包含。
3、配置元件:维护Sampler需要的配置信息,并根据实际的需要修改请求的内容。
4、前置处理器:负责在请求之前?作,常?来修改请求的设置
5、定时器:负责定义请求之间的延迟间隔。
6、取样器(Sampler):是性能测试中向服务器发送请求,记录响应信息、响应时间的最?单元,如:HTTP Request Sampler、FTP Request Sample、TCP Request Sample、JDBC Request Sampler等,每?种不同类型的sampler 可以根据设置的参数向服务器发出不同类型的请求。
7、后置处理器:负责在请求之后?作,常?获取返回的值。
8、断?:?来判断请求响应的结果是否如?户所期望的。
9、监听器:负责收集测试结果,同时确定结果显?的?式。
10、逻辑控制器:可以?定义JMeter发送请求的?为逻辑,它与Sampler结合使?可以模拟复杂的请求序列。元件的作?域和执?顺序
配置元件:
影响其作?范围内的所有元件。
前置处理器:
在其作?范围内的每?个sampler元件之前执?。定时器:在其作?范围内的每?个sampler有效
后置处理器:
在其作?范围内的每?个sampler元件之后执?。
断?:
在其作?范围内的对每?个sampler元件执?后的结果进?校验。监听器:在其作?范围内对每?个sampler元件的信息收集并呈现。
总结:从各个元件的层次结构判断每个元件的作?域。
配置元件->前置处理器->定时器->取样器->后置处理程序->断?->监听器注意事项:
前置处理器、后置处理器和断?等组件只能对取样器起作?,因此,如果在它们的作?域内没有任何取样器,则不会被执?。
如果在同?作?域内有多个同?类型的元件,则这些元件按照它们在测试计划中的上下顺序依次执?。进?接?测试流程
测试计划
线程组
HTTP Cookie管理器4.Http请求默认值5.Sampler(HTTP请求)
6.断?
7.监听器(查看结果树、图形结果、聚合 告等)
Jmeter进?接?测试流程步骤详解
添加测试计划
打开jmeter,在左侧存在?个线程计划,在这?测试计划我们可以把它理解成新建的空?项?,在这个空?项?下?可以添加?系列的接?。
1、线程组
添加?法:右键点击Test Plan->添加->线程(?户)->线程组。
元件描述:?个线程组可以看做?个虚拟?户组,线程组中的每个线程都可以理解为?个虚拟?户。
2、线程数
即虚拟?户数。设置多少个线程数也就是设置多少虚拟?户数
Ramp-Up时间(秒):设置虚拟?户数全部启动的时长。如果线程数为20,准备时长为10秒,那么需要10秒钟启动20个线程。也就是平均每秒启动2个线程。
循环次数:每个线程发送请求的个数。如果线程数为20,循环次数为10,那么每个线程发送10次请求。总请求数为20*10=200。如果勾选了“永远”, 那么所有线程会?直发送请求,直到?动点击?具栏上的停?按钮,或者设置的线程时间结束。
3、HTTP Cookie管理器
添加?法:右键线程组->添加->配置元件->HTTP Cookie管理器。
元件描述:HTTP Cookie管理器可以像浏览器?样存储和发送cookie,如果你要发送?个带cookie的http请求,cookie
manager会?动存储该请求的cookies,并且后?如果发送同源站点的http请求时,都可以?这个cookies。
4、HTTP请求默认值
添加?法:右键线程组->添加->配置元件->HTTP请求默认值。
元件描述:HTTP请求默认值是为了?便填写后续内容?设置。主要填写[服务器名称或IP]和[端? ],后续的HTTP请求中就不?每次都填写IP地址和端? 了。
5、HTTP请求
添加?法:右键线程组->添加->Sampler->HTTP请求。
元件描述:HTTP请求包括接?请求?法、请求路径和请求参数等。
HTTP请求详解
名称:本属性?于标识?个取样器,建议使??个有意义的名称。(2)注释:对于测试没有任何作?,仅?户记录?户可读的注释信息。(3)服务器名称或IP :HTTP请求发送的?标服务器名称或IP地址。(4)端? :?标服务器的端? ,默认值为80 。
协议:向?标服务器发送HTTP请求时的协议,可以是HTTP或者是HTTPS ,默认值为http 。
?法:发送HTTP请求的?法,可??法包括GET、POST、HEAD、PUT、TRACE、OPTIONS、DELETE等。(7)路径:?标URL路径(不包括服务器地址和端?)
内容编码:内容的编码?式,默认值为iso8859
?动重定向:如果选中该选项,当发送HTTP请求后得到的响应是302/301时,JMeter ?动重定向到新的页?。
使?keep Alive :保持jmeter 和?标服务器之间的活跃状态,
默认选中:对Post使?multipart/from-data:当发送POST 请求时,使?multipart/from-data?法发送,默认不选中。
同请求?起发送参数 : 在请求中发送URL参数,对于带参数的URL ,jmeter提供了?个简单的对参数化的?法。?户可以将URL中所有参数设置在本表中,表中的每??是?个参数值对(对应RUL中的 名称1=值1)。
响应断?:
添加?法:右键HTTP请求->添加->取样器->HTTP请求。
元件描述:检查接?是否访问成功。如果检查失败的话会提?找不到断?的内容,没提?的话就代表成功了。
Apply to
指断?作?范围,通常发出?个请求只触发?个请求,所以勾选“main sample only”就可以;若发?个请求可以触发多个服务器请求,就有main sample 和sub-sample之分了。
(1)Main sample and sub-samples:作?于主请求和?请求(2)Main sample only:仅仅只作?于主请求
Sub-samples only:仅仅只作?于?请求
Jmeter Variable:作?于jmeter变量(输?框内输?jmeter变量名称)
测试字段
响应?本(匹配返回的json数据)、响应代码(匹配返回码:如200, 404,500等)、响应信息(匹配响应信息如“OK”字样)、响应头(匹配响应头)、请求头(匹配请求头)、URL样本(匹配请求的 url链接,如果有重定向则包含请求url 和 重定向url)、忽略状态(?个请求有多个响应断?,第?个响应断?选中此项,当第?个响应断?失败时可以忽略此响应结果,继续进?下?个断?。如果下?个断?成功则还是判定事务是成功的)、请求数据(匹配请求数据)
模式匹配规则
包括:响应内容包含需要匹配的内容即代表响应成功,?持正则表达式。
匹配:响应内容要完全匹配需要匹配的内容即代表响应成功,??写不敏感,?持正则表达式。字符串:响应内容包含需要匹配的内容才代表响应成功,??写敏感,不?持正则表达式
相等:响应内容要完全等于需要匹配的内容才代表响应成功,??写敏感,不?持正则表达式否:相当于取反,如果结果为true,勾上否就是false
或者:如果不想?AND连接(所有的模式都必须匹配,断?才算成功),?OR选项可以?于将多个断?模式进?OR连接(只要?个模式匹配,断?就是成功的) 测试模式
其实就是断?的数据。点击“添加”按钮,输?要断?的数据
增加监听器
添加?法:线程组 ->右键添加 ->监听器 ->察看结果树。?般还会?并添加图形结果、聚合 告。元件描述:树状形式显?接?的访问结果,包括请求结果、请求内容、服务器的响应内容。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!