jmeter如何做接口测试?

Jmeter介绍&测试准备:

**Jmeter介绍:**Jmeter是软件行业里面比较常用的接口、性能测试工具,下面介绍下如何用Jmeter做接口测试以及如何用它连接MySQL数据库。

**前期准备:**测试前,需要安装好Jmeter以及jdk并配置好jdk环境变量。

JDK下载地址Java Downloads | Oracle

Jmeter下载地址Apache JMeter - Download Apache JMeter

Jmeter为免安装版本,下载后进行解压,双击bin目录下面的jmeter.bat文件即可启动jmeter .

启动jmeter之后,会看到左侧有一个"测试计划",测试计划可以理解为一套测试环境,测试计划下面可以添加不同的线程组,相当于不同的测试套。线程组下面可以添加具体的测试用例脚本。

添加线程组的流程:右键点击测试计划->点击"添加"->点击Threads(Users)->点击线程组。

**五种请求介绍:**这里介绍get/post/带cookie/带Header/上传文件五种请求的测试。

  • get请求: get请求是最简单的请求方式,输入正确的域名地址或者IP地址 ,添加路径和请求方式,启动后即可。
    • 第一步:右键点击线程组->点击添加->点击Sampler->点击HTTP请求。
    • 第二步:右键点击线程组->点击添加->监听器->查看结果树。
    • 第三步:点击请求->输入ip地址或者域名->选择请求方式为GET->输入路径->点击启动按钮。
    • 第四步:点击查看结果树->查看执行结果
  • post请求: post请求跟get的区别除了请求方式不同之外,还需要添加请求体,请求体内容多半为json格式。
    • 第一步:右键点击线程组->点击添加->点击Sampler->点击HTTP请求------同get请求

    • 第二步:右键点击线程组->点击添加->监听器->查看结果树。------已添加的话,这步可以省略。

    • 第三步:点击请求->输入ip地址或者域名->选择请求方式为POST->输入路径->输入请求参数->点击启动按钮。

    • 第四步:点击查看结果树->查看执行结果------同get请求

  • 带cookie的请求: 该请求需要添加HTTP Cookie管理器。
    • 第一步:右键点击线程组->点击添加->点击Sampler->点击HTTP请求------同get请求
    • 第二步:右键点击线程组->点击添加->监听器->查看结果树。------已添加的话,这步可以省略。
    • 第三步:右键点击线程组->点击添加->配置元件->HTTP Cookie管理器->点击Cookie管理器添加Cookie值。
    • 第四步:点击请求->输入ip地址或者域名->选择请求方式为POST->输入路径->输入请求参数->点击启动按钮。------同POST请求
    • 第五步:点击查看结果树->查看执行结果------同get请求
  • 带Header的请求: 该请求需要添加HTTP信息头管理器。
    • 第一步:右键点击线程组->点击添加->点击Sampler->点击HTTP请求------同get请求
    • 第二步:右键点击线程组->点击添加->监听器->查看结果树。------已添加的话,这步可以省略。
    • 第三步:右键点击线程组->点击添加->配置元件-HTTP信息头管理器->填写信息头内容
    • 第四步:点击请求->输入ip地址或者域名->选择请求方式为GET->输入路径->点击启动按钮。------同GET请求
    • 第五步:点击查看结果树->查看执行结果------同get请求
  • 文件上传的请求: 需填写上传文件的路径。
    • 第一步:右键点击线程组->点击添加->点击Sampler->点击HTTP请求------同get请求
    • 第二步:右键点击线程组->点击添加->监听器->查看结果树。------已添加的话,这步可以省略。
    • 第四步:点击请求->输入ip地址或者域名->选择请求方式为POST->输入路径->点击Files Upload->点击添加按钮->点击浏览->点击本地文件->输入参数名称->输入MIME类型->点击启动按钮。
    • 第五步:点击查看结果树->查看执行结果------同get请求

其他功能介绍:

**参数化:**所谓参数化就是我们可以将需要传入的参数写到某个配置文件中,配置好参数 ,即可使用配置文件内的参数。

  • 第一步:添加配置元件->CSV Data Set Config
  • 第二步:本地新建一个user.txt的配置文件,输入用户名,密码,逗号隔开,将文件放到Jmeter安装路径的/bin目录下。
  • 第三步:点击CSV Data Set Config,配置变量,输入文件名称,定义参数名称,逗号隔开。
  • 第四步:新建请求,步骤同上面的post请求。点击请求名称->输入域名->选择请求方式->输入路径->名称地方输入变量名->值的地方输入在CSV Data Set Config里面配置的变量名->点击启动按钮->查看结果树。

**函数助手:**Jmeter具备一个函数助手的功能,里面集成了常见函数的使用,这里介绍下随机函数Random和时间函数time的使用。

  • 函数助手__Random:点击菜单栏的选项->函数助手对话框->选择一个功能__Random->输入范围的最小值&最大值->点击"生成"按钮->将生成的函数变量带入到请求内。
  • 函数助手__time:选项->函数助手对话框->选择一个功能__time->输入时间格式->点击"生成"按钮->将生成的函数变量带入到请求内。

**关联:**所谓关联就是让不同的请求之间的参数形成关联关系,比如说将上一个请求的出参,当作下个请求的入参,该方法可以让多个脚本都串连起来,从而达到连跑的效果。

  • 新建请求->右键点击请求添加后置处理器->JSON Extractor
  • 点击JSON Extractor->输入变量名称->输入json表达式(json的层级关系用.点号来区分)
  • 新建新请求->传入变量值(传入上一个请求提取的参数),这样就将两个请求的参数关联起来了。

**添加断言(响应断言):**判断一个请求是否成功,除了校验返回码,有时候还要校验返回体的内容是否正确,jmeter可以添加断言来检查结果。

  • 右键点击请求->添加->断言->响应断言
  • 点击响应断言->选择测试的响应字段->选择匹配规格->添加匹配的字段

**Jmeter操作数据库:**jmeter还可以通过调用jdbc接口对数据库进行远程操作,这里以mysql为例。

前期准备:需准备好mysql的jdbc驱动包:mysql-connector-java-5.1.7-bin.jar。

驱动包下载地址:MySQL :: Download Connector/J

  • 添加驱动包:点击测试计划->点击"浏览"->添加本地驱动包
  • 添加线程组:右键点击测试计划->点击"添加"->点击Threads(Users)->点击线程组->修改线程组名称为"操作数据库"
  • 添加JDBC连接配置:右键点击线程组->添加->配置元件->JDBC Connection Configration
  • 配置JDBC连接参数:定义变量名->输入DatabaseURL->JDBC驱动类->数据库用户名->数据库用户密码。
    • URL:jdbc:mysql://{host+port}/{database_name}?allowMultiQueries=true&characterEncoding=utf-8(host、port、database_name换成对应的值),allowMultiQueries=true是允许多次查询,characterEncoding=utf-8是为了防止中文乱码的情况。
    • JDBC驱动类:com.mysql.jdbc.Driver(固定)
    • Username:数据库的用户名
    • Password:数据库用户密码
  • 添加JDBC请求:右键点击线程组->添加->Sampler->JDBC Request
  • 配置请求:点击JDBC请求->输入配置的变量名->选择查询类型(Callable代表支持所有的sql语句)->输入数据库语句。
  • 添加查看结果树->启动->查看执行结果(返回结果为绿色代表执行成功)。

Jmeter使用常见问题:

  • jmeter jdbc 中文乱码:连接池url后面添加characterEncoding=utf-8
  • 接口返回体内容有乱码情况:
    • 进入jmeter的/bin目录,打开jmeter.properties
    • 找到"#sampleresult.default.encoding=ISO-8859-1"
    • 去掉#,将ISO-8859-1修改成utf-8
    • 重启jmeter
  • win10系统上传文件接口报错的问题:将需要上传的文件直接放到jmeter安装目录的/bin目录下。

2024最新Jmeter接口测试从入门到精通(全套项目实战教程)

相关推荐
文人sec3 天前
性能测试-jmeter9-逻辑控制器、定时器压力并发
测试工具·jmeter·性能优化·模块测试
CesareCheung4 天前
JMeter分布式压力测试
分布式·jmeter·压力测试
测试界清流4 天前
jmeter使用技巧
jmeter
春时似衿里4 天前
jmeter配置数据库连接步骤
数据库·jmeter
新知图书4 天前
JMeter的安装部署
jmeter
程序员杰哥4 天前
什么是Jmeter? Jmeter工作原理是什么?
自动化测试·软件测试·python·测试工具·jmeter·职场和发展·测试用例
乐神嘎嘎嘎4 天前
Jmeter测试
jmeter
卓码软件测评4 天前
第三方软件测试机构【性能测试工具用LoadRunner还是JMeter?】
java·功能测试·测试工具·jmeter·性能优化
BatyTao5 天前
Jmeter执行数据库操作
数据库·jmeter
二宝哥5 天前
性能测试工具Jmeter之java.net.BindException: Address already in use
jmeter