根据产品开发提供的接口文档,接口参数,接口地址进行接口测试。

自动化用到的Jmeter中的常用组件介绍

测试计划:测试用例

线程(组):

场景的起始点,用于设置多少用户并发?什么时候开始跑?跑多久?

逻辑控制器:

包括循环控制器、简单控制器、If控制器等等

配置元件:

对samplers进行配置,避免重复内容

  • HTTP Cookie Manager

作用域:HTTP Cookie Manager放在测试计划下,对整个测试计划有效

放在线程组内,对特定的线程组有效

放在简单控制器或事务控制器下对当前控制器有效

典型问题:如果线程组中配置Cookie管理器,测试计划中的Cookie管理器仍然对线程组生效,此时应禁用测试计划中的Cookie管理器,线程组中的才会生效。

”每次反复清除Cookie“选项的作用:勾选上,线程组将所有的接口跑完时会清除Cookies,第二次跑的时候不会受缓存的影响。

典型问题:涉及到sso登录,线程组第一次登录没问题,第二次的时候中间登录接

  • HTTP Header Manager

设置HTTP消息头。Jmeter中每条用例都是发送一个请求,需要添加消息头在这里设置,放在用例内部。

  • 用户定义的变量

设置自定义变量的名称,在用例中可以使用${var_name}调用,注意:该组件定义的变量是全局变量,不论放在哪里都是作用于所有域和组件。

定时器

请求之间的暂停

  • 高斯定时器:随机(偏差100,延迟300,则范围为200-400)
  • 固定定时器:固定延时时长(ms)

前置处理器

运行在Sampler之前,多用于设置sampler和更新从上一个响应获得的变量值

  • 用户参数:

Sampler(取样器)

真正的请求,jmeter脚本中必须要包含sampler

后置处理器

运行在sampler之后,多用于响应数据的处理。

断言:

响应断言:使用频率最高,用例执行以后需要对执行成功与否进行判断,所以每条用例都要添加断言

监听器

  • 查看结果树

查看接口运行的详细情况

  • 聚合报告:

看整体情况的

label - 在不勾选include group name in label?复选框的情况下,为请求取样器的名称。否则为“请求取样器所在线程组:请求取样器名称”

Samples - 用同一个请求取样器,发送请求的数量(注意:该值是不断累积的)。比如10个线程数设置为10,迭代10次,那么运行一次测试,该值就增加10*10=100

Average - 默认情况下是单个request的平均响应时间。当使用了Transaction Controller时,也可以以Transaction为单位显示平均响应时间

Median - 中位数,表示响应时间本不大于该时间值的请求样本数占总数的50%

90% Line - 表示响应时间不大于该时间值的请求样本数占总数的90%

Min - 针对同一请求取样器,请求样本的最小响应时间

Max - 针对同一请求取样器,请求样本的最大响应时间

Error % - 出现错误的请求样本的百分比

Throughput - 吞吐量以“requests/second、requests/minute、requests/hour”来衡量。时间单位已经被选取为second,所以显示速率至少是1.0,即每秒1个请求。当吞吐量被保存到CSV文件时,采用的是requests/second,所以30.0requests/second在csv文件中保存为0.5

Received KB/sec

Sent Kb/sec

  • Transaction per second

性能测试用的查看tps

  • Response Times Over Time

查看请求响应时间

  • PerMon Metrics Collector

监控资源使用情况的

 

 

 

收藏 打印