Jmeter接口测试学习笔记

本文详细介绍了JMeter在接口测试中的关键概念,包括定位资源、模拟用户、分类、工具使用(参数化、数据库测试、函数和集合点)、分布式测试的原理与配置,以及元件执行顺序。涵盖了从基本概念到高级实践的全面指南。
摘要由CSDN通过智能技术生成

Jmeter接口测试

一、接口是什么?
前后端数据交互的规范

二、接口测试实现流程?
1.定位资源服务器(URL)
2.模拟用户提交数据
3.检查响应内容是否符合预期

三、接口测试分类
1.web接口测试(B/S),又可分为:
a.服务器接口—本公司实现的接口
b.第三方接口—其他公司实现的接口
2.模块接口(C/S)

四、接口测试工具—Jmeter
4.1、术语解释
a.进程:一个正在运行的程序就是一个进程
b.线程:进程中的执行线索(一个进程有多个执行线索,如电影播放时有音频和视频两个线程同时运行)
c.线程组:按照线程性质对线程进行分组
4.2、线程组的执行顺序
a.并发执行:不勾选“独立运行每个线程组”,则线程组执行顺序随机,每次运行结果不一样
其中线程组1的线程数是2,线程组2的线程数是3
在这里插入图片描述
第一次执行结果:
在这里插入图片描述

	第二次执行结果

在这里插入图片描述

b.顺序执行:勾选独立运行每个线程组,按顺序执行完线程组1,再执行线程组2
在这里插入图片描述
第一次执行结果:
在这里插入图片描述

第二次执行结果:
在这里插入图片描述
4.3、如何参数化
1.方法一,使用配置元件中的CSV DATA SET CONFIG
在这里插入图片描述
2.方法二,使用前置处理器中的用户参数
在这里插入图片描述
3.方法三,用户定义的变量
在这里插入图片描述
4.方法四,使用工具中的函数助手
在这里插入图片描述4.4、数据库测试
1.第一步,JDBC Connection Configuration数据库连接配置
在这里插入图片描述
2.第二步,发送JDBC请求,查询数据库
在这里插入图片描述
使用取样器DebugSampler查看赋值后的变量取值
在这里插入图片描述
4.5、关联
1.方式一:JDBC请求,将结果赋值给变量,然后调用变量(4.4已介绍)
2.方式二:Xpath提取器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.方式三:正则表达式提取器

在这里插入图片描述
五、函数
5.1、__setProperty与__property函数(一般成对使用)
1.需求:线程组2中访问搜狗时需要使用线程组1中访问百度返回的title作为关键字
以下是错误做法,因为普通变量不可以跨线程组访问
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
正确做法:
第一步:用正则表达式提取线程组1中访问百度返回的title,赋值给myTitle
在这里插入图片描述

第二步:通过__setProperty()函数创建共享变量
先用函数助手找到这个函数,并生成调用格式
在这里插入图片描述

然后使用BeanShell取样器调用该函数。(函数不调用则不会执行)
在这里插入图片描述
第三步:通过__property()函数获取共享变量的值
先用函数助手找到这个函数,并生成调用格式
在这里插入图片描述

然后在需要使用该共享变量的地方进行调用
在这里插入图片描述
执行结果:
在这里插入图片描述
5.2、__counter()函数
示例:有两个用户,每个用户循环访问百度10次
在这里插入图片描述

 第一种:使用全局计数器__counter(FALSE,)

在这里插入图片描述

 第二种:每个用户有自己的计数器__counter(TRUE,)

在这里插入图片描述
5.3、__ramdom()函数
功能:生成随机数
在这里插入图片描述
示例:线程组设置线程数为1,循环10次
在这里插入图片描述
5.4、__time()函数
功能:获取当前时间,并格式化
在这里插入图片描述
示例:
在这里插入图片描述
5.5、__CSVRead()函数
功能:读取CSV文件指定列的数据
在这里插入图片描述
示例:线程数设置为3,循环次数为1
在这里插入图片描述

在这里插入图片描述
执行结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
六、集合点
6.1、固定定时器
功能:发送请求前等待固定时间
在这里插入图片描述

6.2、同步定时器
功能:实现并发,可设置集合到多少个线程后再同时发送请求,还可以设置超时时间
示例:
在这里插入图片描述
在这里插入图片描述
执行结果:
前5个用户的请求时间相同
在这里插入图片描述
后5个用户的请求时间相同
在这里插入图片描述

七、分布式
什么是分布式?
在这里插入图片描述
组成:1台主控机+N台压力机
主控机:安装了Jmeter、jmeter.properties文件中有配置压力机的地址、编写测试脚本
压力机:安装了Jmeter

示例:由于只有一台机器,所以实现一个伪分布式,主控机和压力机都在同一台机器上,但是设置的端口都不一样
第一步、新建两个文件夹,压力机1和压力机2, 并将Jmeter的安装包复制到这两个文件夹中
在这里插入图片描述

在这里插入图片描述
第二步、配置压力机1和压力机2的端口,,分别打开各自的jmeter.properties文件修改端口(主控机无需修改,启动Jmeter时会自动分配一个端口,若压力机也不修改端口号,则启动压力机的JMETER时可能会出现端口冲突)
压力机1的端口设置为8888
在这里插入图片描述
压力机2的端口设置为9999
在这里插入图片描述
第三步,在主控机的jmeter.properties文件中设置压力机1和压力机2的地址
在这里插入图片描述
第四步、启动压力机1和压力机2的Jmeter服务,启动前需修改jmeter.properties文件中的server.rmi.ssl.disable=true,否则启动会报错
在这里插入图片描述

在这里插入图片描述
启动后如下图
在这里插入图片描述

第五步、在主控机下远程启动,启动前需修改jmeter.properties文件中的server.rmi.ssl.disable=true,否则远程启动会报错
在这里插入图片描述
在这里插入图片描述
执行结果:
压力机1
在这里插入图片描述
压力机2
在这里插入图片描述
主控机
在这里插入图片描述

八、元件执行顺序
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值