Jmeter-使用

一、Jmeter使用

1、测试计划

打开Jmeter,在菜单左侧出现 “测试计划”。在这里测试计划我们可以把它理解成新建的空白项目,在这个空白项目下面可以添加一系列的接口。

image

2、线程组

添加方法:右键点击Test Plan->添加->线程(用户)->线程组。

元件描述:一个线程组可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。

image

1.线程数:即虚拟用户数。设置多少个线程数也就是设置多少虚拟用户数

2.Ramp-Up时间(秒):设置虚拟用户数全部启动的时长。如果线程数为20,准备时长为10秒,那么需要10秒钟启动20个线程。也就是平均每秒启动2个线程。

3.循环次数:每个线程发送请求的个数。如果线程数为20,循环次数为10,那么每个线程发送10次请求。总请求数为20*10=200。如果勾选了“永远”, 那么所有线程会一直发送请求,直到手动点击工具栏上的停止按钮,或者设置的线程时间结束。

image

1.在调度器配置中,设置持续时间,这个就是持续运行的时间。

2.启动延迟,就是延迟多少时间,开始执行

3、用户定义的变量

添加方法:线程组-->配置原件-->用户添加的变量

image

添加完成之后,只用${ip}去引用就可以了

4、Sampler(HTTP请求)

添加方法:线程组-取样器-http请求
image

1.名称:本属性用于标识一个取样器,建议使用一个有意义的名称。

2.注释:对于测试没有任何作用,仅用户记录用户可读的注释信息。

3.服务器名称或IP :HTTP请求发送的目标服务器名称或IP地址。

4.端口号:目标服务器的端口号,默认值为80 。

5.协议:向目标服务器发送HTTP请求时的协议,可以是HTTP或者是HTTPS ,默认值为http 。

6.方法:发送HTTP请求的方法,可用方法包括GET、POST、HEAD、PUT、TRACE、OPTIONS、DELETE等。

7.路径:目标URL路径(不包括服务器地址和端口)

8.内容编码:内容的编码方式,默认值为iso8859

9.自动重定向:如果选中该选项,当发送HTTP请求后得到的响应是302/301时,JMeter 自动重定向到新的页面。

10.使用keep Alive :保持jmeter 和目标服务器之间的活跃状态,默认选中

11.对Post使用multipart/from-data:当发送POST 请求时,使用multipart/from-data方法发送,默认不选中。

12.同请求一起发送参数 : 在请求中发送URL参数,对于带参数的URL ,jmeter提供了一个简单的对参数化的方法。用户可以将URL中所有参数设置在本表中,表中的每一行是一个参数值对(对应RUL中的 名称1=值1)。

5、响应断言

添加方法:线程组-取样器-http请求-断言-响应断言

image

1.apply to:通常发出一个请求只触发一个请求,所以勾选“main sampie only”就可以;若发一个请求可以触发多个服务器请求,就有main sample 和sub-sample之分了

(1)Main sample and sub-samples:作用于主请求和子请求

(2)Main sample only:仅仅只作用于主请求

(3)Sub-samples only:仅仅只作用于子请求

(4)Jmeter Variable:作用于jmeter变量(输入框内输入jmeter变量名称)

2.要测试的响应字段:

(1)一般的http响应,都勾选“响应文本”;

(2)url样本是对sample的url进行断言,如果请求没有重定向,就请求url,如果有重定向,就请求url和重定向url;

(3)响应代码:http响应代码,如101,200,302,404,501等。当我们要验证404,501等http响应代码时,需要勾选“ ignore status”。因为当http 响应代码为400,500时,jmeter默认这个请求时失败的;

(4)响应信息:响应代码对应得响应信息,例如“OK"

3.模式匹配:

(1)包括:返回结果包括你指定的内容,支持正则匹配

(2)匹配: 相当于 equals 。当返回值固定时,可以返回值做断言,效果和equals相同 ;

正则匹配 。 用正则表达式匹配返回结果,但必须全部匹配。 即正则表达式必须能匹配整个返回值,而不是返回值的一部分。

(3) SubString:与 “包括”差不多,都是指返回结果包括你指定的内容,但是subString不支持正则字符串

(4) 否:就相当于取反。 如果断言结果为true,勾选“否”后,最终断言结果为false。如果断言结果为false,勾选“否”后,则最终断言结果为 true

4.要测试的模式:输入结果期望值(空格要去掉)

6、监听器

添加方法:线程组 ->右键添加 ->监听器 ->察看结果树。一般还会一并添加图形结果、聚合报告。

元件描述:树状形式显示接口的访问结果,包括请求结果、请求内容、服务器的响应内容。

聚合报告

  • Label         取样器别名,如果勾选Include group name  ,则会添加线程组的名称作为前缀
  • Samples      取样器运行次数
  • Average      请求(事务)的平均响应时间
  • Median       中位数
  • 90% Line      90%用户响应时间
  • 95% Line      90%用户响应时间
  • 99% Line      90%用户响应时间
  • Min          最小响应时间
  • Max          最大响应时间
  • Error         错误率
  • Throughput    吞吐率
  • Received KB/sec  每秒收到的千字节
  • Sent KB/sec     每秒收到的千字节

7、事务控制器

添加方法:逻辑 控制器-事务控制器

作用:用户进行一系列操作的测试,只有整个事务控制器定义的事务成功,才算成功
image

Generate Parent Sample:如果选中,则生成样本作为其他样本的父项,否则样本将作为独立样本生成。
image

Include duration of timer and pre-post processors in generated sample:是否在生成的样本中包括计时器,预处理和后处理延迟。默认值为false。一般不建议选择,因为选择会把一些额外时间算入总时间

image

二、外部数据

1.csv数据文件

添加方法:添加-配置元件-CSV数据文件设置

https://blog.csdn.net/liangyoufei/article/details/83714978

2.随机变量

1)Random Variable

添加方法:配置元件-随机变量
image

2)__Random()

位置:
image


image

3)Counter

在整个线程组内设置一个全局变量,该变量的值是唯一的

添加方法:配置元件-计数器counter

引用名称

image
image
image

posted @ 2021-09-12 20:23  难删亦删  阅读(280)  评论(0)    收藏  举报