首页 > 其他分享 >jmeter做接口测试

jmeter做接口测试

时间:2023-02-13 16:44:35浏览次数:34  
标签:请求 -- 接口 添加 测试 jmeter 断言

一、工具简介

jmeter是一个主流的性能测试工具,主要用于测试服务器接口

注:单元测试(开发)>接口测试(避免后期功能测试出现大量bug)>功能测试(黑盒测试)>回归测试>性能测试(上线前,功能测试通过了,没有bug)>自动化测试(接口+web+app )

二、环境搭建

  • jdk
  • 下载解压jmeter

环境配置:新建系统变量JMETER_HOME,并将jmeter根目录粘贴在该目录下,最后在cmd中输入命令jmeter -v(出现jmeter的标志则配置成功)

 

 三、启动jmeter

  • bin/jmeter.bat文件启动
  • 命令行启动(在cmd中输入jmeter回车就可以启动jmeter-----推荐)

注:命令行启动jmeter后,不要关掉cmd,关掉jmeter就被关掉了

 

四、jmeter做接口测试

①添加线程组

右键测试计划-->添加-->Threads-->线程组

 

②添加http请求

右键线程组-->添加-->Sampler-->http请求

 

③填写接口信息

抓包的接口信息如下:

 jmeter中填写接口相关信息:

④添加请求头

请求头用来规定参数的格式:请求的时候给服务器什么格式的参数,他就以什么格式来解析参数,所以需要在请求头中,告知参数格式

右键http请求-->添加-->配置元件-->http信息头管理器

再点击底部“添加”按钮,添加参数

 ⑤添加“查看结果树”(直接在测试计划里添加就好)

右键测试计划-->添加-->监听器-->察看结果树

 

 ⑥运行结果

 ⑦断言(在单个http请求中添加断言,每个请求都需要添加断言,多个请求可以共同使用同一个断言----将断言拖到线程组里)

  • 响应断言:右键http请求-->添加-->断言-->响应断言

 一般都是通过返回值里的code值判断是否通过断言:

  •  json断言:右键http请求-->添加-->断言-->json assertion

 

 

 

  •  断言过程

 1.自动判断http状态码,如果大于400则直接报错

 2.状态码通过才开始判断断言

五、jmeter做接口测试需要关注的控件

①察看结果树

  • 关注取样器结果--response code
  • 请求---请求的参数是否正确(接口类型、接口地址、请求头、接口参数)
  • 响应数据

②测试计划:包含了所有的线程组

③线程组:理解为一个测试用例,在性能测试中称为场景;包含了多个请求

④http请求:理解为单个步骤

⑤断言

  • 响应断言
  • json断言

 六、jmeter中的关联

1、什么是关联:

即前面接口的返回值需要作为后一个接口的参数

2、关联类型:

6.2.1、正则表达式提取器

①添加正则表达式提取器:

右键http请求-->添加-->后置处理器-->正则表达式提取器

 ②配置正则表达式提取器(即提取值保存到变量中,方便后续使用)

理解:将token的value值保存到gtoken变量中

 

 ③引用变量:${变量名}

 

6.2.2、json提取器

①添加json提取器:

右键http请求-->添加-->后置处理器-->json extractor

 ②配置json提取器

例如接口返回值如下,取token值:

$..token:..表示在所有结果中,找到token(不管路径在第几层)

 

 

③引用变量:${变量名}   

 

七、小tips:

  • 注意记得保存脚本(保存成功后,左上角会有文件路径)

 

  •  右键可禁用不想用的功能,禁用后变灰,后续可打开

  • $代表全部,即返回值的全部信息

例:接口返回值$={"code":1,"msg":"返回成功","data":["token":"123456","name":"智障"]}

取值:$.code即为1

$.msg即为返回成功

$.data.0.taken即为123456

接口返回值$={"code":1,"msg":"返回成功","data":[{"token":"123456","name":"智障"}]}

$data.0即为第一个字典:{"token":"123456","name":"智障"}(虽然返回之中只有一个字典,但是也要一层一层剥开)

$data.0.0即为"token":"123456"

$data.0.0即为123456

 

  • jmeter中前置处理器和后置处理器

前置处理器:一般来说都是做一些初始化的准备(在请求之前要准备的工作,使用场景比如密码加密)

后置的内容,比如提取token值,都是在请求完成之后,接口返回结果后,提取结果中的token,所以是后置(在请求完成后要做的工作,使用场景比如关联)

 

标签:请求,--,接口,添加,测试,jmeter,断言
From: https://www.cnblogs.com/bzbz/p/16920203.html

相关文章

  • 微信小程序权限接口
    微信小程序权限接口​​1、权限接口​​​​1.1用户授权接口`wx.authorize(Objectobject)`​​​​1.2获取用户权限设置接口`wx.getSetting(Objectobject)`​​​​1.3......
  • 微信运动接口(获取自己的微信运动数据)
    @​​toc​​1、微信运动接口wx.getWeRunData()1.1实现步骤  该接口获取用户过去30天微信运动步数。该接口比较复杂,具体操作步骤如下:先调用​​wx.login()​​接口获取c......
  • 软件功能测试包含了哪些测试项目?功能测试报告收费标准
    一、软件功能测试是什么?软件功能测试是测试人员通过执行功能测试用例逐步验证软件产品各项功能是否达到预期需求的测试过程。也是俗称的“点点点测试”,这是基础性......
  • 75接口采集学习网址信息,顺便清理一个存入csv的坑
    对一个学习网址进行外页爬取#coding=gbk#-*-coding:uft-8-*-#@Time:2023/2/13#@Author:十架bgm#@FileName:ca213importcsvimportrequestsimportrei......
  • 某宝登录测试用例
    大家好,我是十一,引用三毛的一句话作为我们2023年的开场白:一个人至少拥有一个梦想,有一个理由去坚强。如果你已经坚强的走在了梦想的道路上,那么我们为自己鼓鼓掌,希望未来的道路......
  • 压力测试的关注点
    1.压力测试的工具使用jmeter测试工具完成压力测试,模拟多线程并发请求服务器,来观察被测系统的性能指标 2.压力测试的大致步骤1.测试环境的准备通......
  • Vulnhub之Chakravyuh详细测试过程
    Chakravyuh识别目标主机IP地址─(root......
  • APP性能测试
    adb命令查看手机使用情况adbshelldumpsys[options]options:meminfo显示内存信息cpuinfo显示cpu信息wifi显示wifi信息activity显......
  • Vue接口地址管理
     项目中有些时候会调用不同的的环境接口地址,统一进行管理便于切换1.static文件夹下新建config.js:(static/目录下的文件并不会被Webpack处理:它们会直接被复制到最终......
  • 软件测试中的软件管理和测试流程
    软件测试管理正确的方式对公司的测试工作进行管理。而“正确的方式”就是在工作中不断摸索和改进后的管理方式,探索并发现这些方式也是测试管理工作的重要任务之一。......