使用Jmeter测试Restful接口压力测试
下载地址:http://mirror.bit.edu.cn/apache//jmeter/binaries/apache-jmeter-5.1.1.zip (需要JAVA8)
- 一、添加线程组等元件
- 添加线程组
- 添加线程组,Jmeter执行是通过线程组进行驱动的,测试计划必须最少有一个线程组,选中Test Plan,点击右键,添加》Threads》线程组
- 添加线程组,Jmeter执行是通过线程组进行驱动的,测试计划必须最少有一个线程组,选中Test Plan,点击右键,添加》Threads》线程组
- 添加用户参数
- 在线程组上添加用户参数,用户可以利用此元件进行参数设置,在取样器中进行参数化,用户(线程)在进行参数化取值时可以根据用户来区分,选中线程组,点击右键,添加》前置处理器》用户参数,填写调用的名称,变量值
- 在线程组上添加用户参数,用户可以利用此元件进行参数设置,在取样器中进行参数化,用户(线程)在进行参数化取值时可以根据用户来区分,选中线程组,点击右键,添加》前置处理器》用户参数,填写调用的名称,变量值
- 添加HTTP信息头管理器
- 在线程组添加HTTP信息头管理器,信息头管理器就是用来维护接口的信息头,需要使用此元件进行维护,选中线程组,点击右键,添加》配置元件》HTTP信息头管理器,填写表头信息x-auth-token、Content-Type等
- 在线程组添加HTTP信息头管理器,信息头管理器就是用来维护接口的信息头,需要使用此元件进行维护,选中线程组,点击右键,添加》配置元件》HTTP信息头管理器,填写表头信息x-auth-token、Content-Type等
- 添加HTTP请求默认值
- 在线程组添加HTTP请求默认值,该元件的作用是把重复的部分封装起来,一次设置多次使用,选中线程组,点击右键,添加》配置元件》HTTP请求默认值,填写了协议、服务器名称/ip、端口号,HTTP请求中就可以不用输入该选项
- 在线程组添加HTTP请求默认值,该元件的作用是把重复的部分封装起来,一次设置多次使用,选中线程组,点击右键,添加》配置元件》HTTP请求默认值,填写了协议、服务器名称/ip、端口号,HTTP请求中就可以不用输入该选项
- 添加线程组
- 二、实现新增检查任务请求
- 分析请求接口
- 通过抓包工具fiddle或者谷歌浏览器调试可以知道请求的参数如下,接口方法为post
- 通过抓包工具fiddle或者谷歌浏览器调试可以知道请求的参数如下,接口方法为post
- 获取projectId(项目id)
1.1 添加HTTP请求- 添加项目查询接口请求,用来获取ProjectId,选中线程组,点击右键,添加》Sampler》
- HTTP请求,填写名称、协议、方法、路径
1.2 添加 JSON Path Extractor提取器 - 选中该HTTP请求,点击右键,添加》后置处理器》jp@gc - JSON Path Extractor,输入提取的变量名称,以及JSONPath表达式
1.3 添加 BeanShell PostProcessor - 使用该方法获取的变量,会有【】包含,需要新增该元件进行切割,选中该HTTP请求,点击右键,添加》后置处理器》BeanShell PostProcessor,可以使用java语言进行切割
1.4 添加断言 - 判断响应信息中是否包含{"code":0,"msg":"SUCCESS",选中该HTTP请求,点击右键,添加》断言》响应断言,输入预期结果
- 获取repoId(仓库id)
1.1 添加HTTP请求- 添加项目关联的仓库查询接口请求,用来获取repoId,选中线程组,点击右键,添加》Sampler》
- HTTP请求,填写名称、协议、方法、路径
1.2 添加 JSON Path Extractor提取器 - 选中该HTTP请求,点击右键,添加》后置处理器》jp@gc - JSON Path Extractor,输入提取的变量名称,以及JSONPath表达式
1.3 添加 BeanShell PostProcessor - 使用该方法获取的变量,会有【】包含,需要新增该元件进行切割,选中该HTTP请求,点击右键,添加》后置处理器》BeanShell PostProcessor,可以使用java语言进行切割
1.4 添加断言 - 判断响应信息中是否包含{"code":0,"msg":"SUCCESS",选中该HTTP请求,点击右键,添加》断言》响应断言,输入预期结果
- 实现接口请求
1.1 添加HTTP请求- 添加新增检查任务接口请求,选中线程组,点击右键,添加》Sampler》
- HTTP请求,填写名称、协议、方法、路径、参数,此时需要把之前获取的参数值替换成变量格式,jmeter使用${projectid}格式可以引用生成的变量
1.2 添加断言 - 判断响应信息中是否包含{"code":0,"msg":"SUCCESS"},选中该HTTP请求,点击右键,添加》断言》响应断言,输入预期结果
- 分析请求接口
- 三、添加监听器
- 添加察看结果树
- 察看结果树用来察看每次响应结果的响应数据,选中线程组,点击右键,添加》监听器》察看结果树
- 察看结果树用来察看每次响应结果的响应数据,选中线程组,点击右键,添加》监听器》察看结果树
- 添加聚合报告
- 聚合报告可以看到表格显示的结果与图形结果,会统计采样器(请求)执行的次数、平均响应时间、最小响应时间、最大响应时间、吞吐量,选中线程组,点击右键,添加》监听器》聚合报告
- 聚合报告可以看到表格显示的结果与图形结果,会统计采样器(请求)执行的次数、平均响应时间、最小响应时间、最大响应时间、吞吐量,选中线程组,点击右键,添加》监听器》聚合报告
- 添加察看结果树
如果对您有帮助,记得点个赞