jmeter测试项目实例

1、背景

现在在一家小公司,人少没有专门的测试。开始的时候用阿里云的性能测试服务,做过重点的性能测试。
老板不愿意出钱搞测试,购买的低配版服务能测试内容比较少。
前段时间大批量用户同时做一个业务,中间约1分30秒系统资源访问出现瓶颈,尴尬。
最近抽空用jmeter做了一个压测场景。

2、jmeter体系结构

如下图,jmeter体系结构包括:
a、前置处理处理器,初始化参数等
b、采样器,压测处理过程,其中断言可以分析请求处理结果
c、监听器,压测结果分析
jmeter体系结构

3、jmeter压测实例

本次压测实例包括登录、登录过程首页各种求情,登陆后考试详情获取、提交等业务共15个请求流程
注:使用的是最新jmeter 5.3

3.1 业务压测全流程

在这里插入图片描述

3.2 前置处理器

本次业务前置处理器包括三个:
a、csv参数,存放批量的参数,后续采样器中可以使用
b、http cookie manager管理器,jmeter 5.3只要在此处添加后会自动保存cookie,采样器中请求可以自动集成cookie
c、用户参数,csv文件保存的是批量的参数,尺寸可以存放供后续使用的非批量参数
在这里插入图片描述

3.2.1 csv data set config

a、配置文件位置
b、配置参数的变量名,本次csv文件供三个参数,后续请求可以通过类似 ${input_user} 引用参数
在这里插入图片描述

3.3 采样器

3.3.1 线程组

a、Number of Threads(users),线程数,相当于一个循环压测的用户数。
b、Ramp-Up Period(in second),启动一个循环所有线程所需的时间,此处表示2秒启动50个线程
c、Loop Count,压测循环次数,次数表示。启动3次,50个用户的压测
在这里插入图片描述

3.3.2 请求样例

a、name为http请求名,自定义,要能区分不同请求
b、请求协会,http、https、ftp等
c、server name or ip,根据实际情况填写
d、请求方式,get、post等
e、请求参数,根据每个请求实际需要传递参数需要填写
f、请求参数的值,此处有多种。引用参数的${参数名}$
f1) 引用user parameters中的参数
f2) 引用 csv参数中的参数
f3) json提取器中提取的参数(有多种提取器)
f4) 固定值作为value
f5) 如果参数的value有中文,URL Encode需要选中
在这里插入图片描述

3.3.3 设置定时器

对于正常的请求,不同业务之间都会有一些延时。在业务请求之前设定定时器,延时多久再启动。
定时器有多种,此处使用高斯定时器
在这里插入图片描述

3.3.4 JSON提取器

a、提取器有多种,此处用json提取器。因为提取的body返回的json中的内容
b、Names of created variables,参数名,供后续请求调用
c、JSON Path expressions,在json中提取的内容,此处表示提取json中record这个key的id的值。
在这里插入图片描述

在这里插入图片描述
又遇到另外一种情况。返回的是数组,数组中可能有多个字典。每个字典中有courseId和id,需要取course_Id为指定值时的id。
提取json的表达式如下:
$.[0].[?(@.courseId==${course_Id})].id
[0]表示提取数组中第一个元素,后面[?(@.courseId==${course_Id})].id表示匹配courseId为指定course_Id的id的value
在这里插入图片描述

在这里插入图片描述

3.3.5 jmeter 断言

jmeter断言主要是分析请求各种响应情况,如返回码断言、响应时长断言。
发现博客总结蛮好,如下:
https://www.cnblogs.com/georgexu/p/11224095.html

3.4 监听器

3.4.1 view result tree

可以看每个请求的执行结果。如果有问题可以在每个请求右侧reponse data中查看
在这里插入图片描述

3.4.1 aggregate report

可以看每个请求的最大、最小、平均响应时长。90%以下请求响应时长。
如果有请求响应时长较长,说明有问题
在这里插入图片描述

  • 6
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值