1. 介绍
JMeter是一款由Apache软件基金会开发的开源软件,用于进行性能测试,负载测试,稳定性测试,自动化测试等
2. 安装和配置JMeter
在Apache Jmeter官网下载对应java版本的客户端,解压后打开bin目录下的jmeter.bat(windows)即可启动
3. 基本概念
1. 线程组(Thread Group):
线程组是测试计划的起点。它代表了一组虚拟用户,每个线程(或虚拟用户)代表一个独立的用户请求。你可以在线程组中设置虚拟用户的数量、启动延迟、循环次数等。线程组定义了测试的并发用户数和持续时间。
2. 取样器(Samplers):
取样器是JMeter发送请求的组件。它可以发送各种类型的请求,如HTTP请求、FTP请求、数据库请求等。每个取样器代表一个用户请求,JMeter通过取样器向目标服务器发送请求,并记录服务器的响应时间。
3. 配置元件(Config Elements):
配置元件用于配置取样器的行为。它可以包括各种配置信息,如服务器名称、端口号、路径、参数等。常见的配置元件包括HTTP请求默认值、CSV数据文件配置、用户定义的变量等。
4. 断言(Assertions):
断言用于验证服务器响应的内容。它允许你定义条件,用于检查响应是否符合预期。如果断言失败,JMeter将标记该请求为失败。常见的断言类型有响应断言、HTML断言、JSON断言等。
5. 监听器(Listeners):
监听器用于显示测试结果和性能报告。它可以以不同的方式呈现测试结果,如表格、图表、树状结构等。常见的监听器包括查看结果树、汇总报告、响应时间图表、聚合报告等。
6. 前置处理器(Pre-Processors)和后置处理器(Post-Processors):
前置处理器和后置处理器分别在请求发送前和响应处理后执行特定的操作。前置处理器可以用来修改请求参数、添加认证信息等。后置处理器可以用来提取响应数据、处理响应内容等。
7. 逻辑控制器(Logic Controllers):
逻辑控制器用于定义请求的执行顺序和逻辑。常见的逻辑控制器有循环控制器、条件控制器、随机控制器等。它们允许你按照特定的条件或顺序组织测试计划。
4. 压力测试配置
在云电脑业务场景下,访问接口需要登录信息,以及header签名。我们可以使用Pre-Processors来实现签名逻辑,使用Post-Processors来提取登录接口响应返回的token信息,并向下传递。
以获取云桌面列表为例,我们首先需要访问登录接口,获取到secreyKey,userAccount等参数
然后在获取云桌面列表接口中实现前置处理器,实现相关的签名逻辑:
并将计算好的签名参数设置到requestHeader中
然后就可以正常访问相关需要验签的接口。