0


【jmeter】接口测试&接口自动化测试

一、接口测试的相关概念

二、市面上的接口架构设计

三、市面上的接口测试工具

四、安装jmeter

安装jmeter前,确保环境已安装JDK,Apache JMeter 5.5 (Requires Java 8+)

1.下载

  • jmeter官网下载,当前最新版为jmeter5.5
  • 下载地址:jmeter官方下载
  • 下载速度很慢,有需要的可以直接联系我发给你下载好的。

2.安装

  • 下载好之后,放到自己期望路径下,直接解压运行即可
  • 运行方式(GUI启动): - (1)运行\apache-jmeter-5.5\bin目录下的:ApacheJMeter.jar- (2)运行\apache-jmeter-5.5\bin目录下的:jmeter.bat- > 两种方式没有区别,第一种方式没有cmd弹窗。

3.一些易用性配置

  • (1)汉化 - 可以进入jmeter中在选择语言,这种方法需要每次进入后都要修改在这里插入图片描述- 永久修改: 编辑\apache-jmeter-5.5\bin下的jmeter.properties文件,在截图位置插入:language=zh_CN在这里插入图片描述
  • (2)快捷方式 - 第一步:将\apache-jmeter-5.5\bin目录下的ApacheJMeter.jar或者jmeter.bat发送快捷方式到桌面在这里插入图片描述- 第二步:此时已经添加,但是可以看到名称显示为:jmeter.bat --快捷方式,而且没有图标,可以做出以下优化: - 修改名称 右键重命名,一般修改为:jmeter,即可- 更换图标 图标的格式一般为ico格式,不能直接用本地的jpg或者png,暴力改后缀也不行,因此需要生成ico格式图标。 方法:确定源图片在jmeter安装路径:apache-jmeter-5.5\docs\images下可以看到jmeter的一些图标如下在这里插入图片描述 打开在线制作ico图标的网站:在线制作ICO图标 选择源文件,选择目标尺寸,点击生成在这里插入图片描述 回到桌面快捷方式,右键—属性—更换图标—浏览,选择到刚才制作的ICO图标,应用即可。在这里插入图片描述

在这里插入图片描述
至此就可以在桌面上看到美观的图标,点击开始写脚本吧
在这里插入图片描述

这个方法适用于所有的应用换图标

五、目录介绍

六、常用组件

必须组件:测试计划、线程组、取样器
非必须组件:除必须外
在这里插入图片描述
在这里插入图片描述

  • 组件介绍 - 1.测试计划:起点,所有组件的容器- 2.线程组:代表一定数量的用户- 3.取样器:向服务器发送请求的最小单元- 4.逻辑控制器:结合取样器实现一些复杂的逻辑- 5.前置处理器:请求之前的工作- 6.后置处理器:请求之后的工作- 7.断言:判断请求是否成功- 8.定时器:请求之前的延时间隔。固定、随机- 9.配置元件:配置信息- 10.监听器:收集结果
  • 执行顺序 测试计划>线程组>配置元件>前置处理器>定时器>取样器>后置处理器>断言>监听器
  • 作用域 作用于:父组件、同级组件、同级组件下的所有子组件(夫亲、兄弟、儿子、侄子) 不能作用于:叔父、堂亲

七、执行接口测试

  • 1.拿到接口文档、熟悉接口业务、接口地址、鉴权方式、入参、出参、错误码
  • 2.编写接口测试用例。- 思路: - 正常场景:输入正确入参,接口正常返回- 异常场景: 鉴权:空、错误、过期、次数限制 参数:空、类型、长度、大小、错误码覆盖 其他:黑名单、分页···
  • 3.使用接口测试工具执行。
  • 4.得出测试报告。

八、接口测试实践

1.添加线程组

  • 1.在测试计划下面添加线程组 线程数等配置一般用于性能测试,在做接口测试、接口自动化测试时,以下值保持默认的1。在这里插入图片描述

2.添加一些常用的配置元件

在这里插入图片描述

  • http cookie管理器 不用做任何配置修改,该配置元件只要放在这里,就可以保证以后的cookies不会丢失
  • .http请求默认值 可以配置:协议、服务器或IP、端口号。 配置好后,之后的请求可以省略这些配置。
  • 用户自定义的变量 全局变量,可以保存一些用户账户信息、环境信息、数据库信息···
  • 必须带请求头的接口,比如需要加客户端类型的接口。还需要添加http信息头管理器 从fiddler中复制所有请求头添加到http信息头管理器中(可以通过逐个删除来调试到底需要哪些请求头)。

3.添加http请求

  • 线程组—右键——取样器——http请求在这里插入图片描述
  • 请求主体,包含以下内容:在这里插入图片描述- 协议:http/https,根据实际接口配置。可以在【http请求默认值】中配置,后续接口不用再配置- 服务器或IP:域名或者IP。根据实际接口配置。可以在【http请求默认值】中配置,后续接口不用再配置- 端口号:http:80,https:443根据实际接口配置。可以在【http请求默认值】中配置,后续接口不用再配置- 方法:post/get- 路径:接口路径,以“/开头”。运行时和服务器/ip拼接后,发送请求- 内容编码:- 参数:使用parmars的接口,get请求的参数- 消息体:消息body,post请求的参数。- 文件上传:上传文件

4.添加查看结果树

  • 右键—监听器—查看结果树
  • 作用域:同级组件在这里插入图片描述在这里插入图片描述
  • 结果树内容: - 截图中编号1:此处可以点击切换内容格式在这里插入图片描述- 截图中编号2:取样器结果在这里插入图片描述- 截图中编号3:请求页签,包含请求headers和body- 截图中编号4:响应页签,包含响应headers和body

九、接口关联

  • 1.正则表达式
  • 2.json提取器

性能测试章节中已经做过介绍,此处不再赘述,有需要可以参考:

十、实现接口业务闭环

  • 业务操作:增、删、改、查
  • 接口的操作不外乎以上四种情况。
  • 增加类型的接口:测试增加后,需要删除 - 可以避免出现大量垃圾数据
  • 删除类型的接口:先新增,再测试删除- 可以避免出现删除的数据不存在而执行失败,保证接口每次都能运行成功
  • 修改类型的接口:先新增,再测试修改,最后删除 - 可以避免出现修改的数据不存在而执行失败,保证接口每次都能运行成功
  • 查询类型的接口:直接测试查询- 查询接口不影响业务闭环
  • 业务闭环好处: - 1.可以保证用例每次都可以执行成功。- 2.不会对存量业务数据造成误操作。- 3.一般情况下目录结构:在这里插入图片描述

十一、接口测试断言

在这里插入图片描述

  • 断言字段: - 响应文本:返回的json数据- 响应代码:200、300、400···- 响应信息:ok- 响应头:- 请求头:- URL:- 文本(文档):返回的json转换为字符串- 忽略状态:当有多个断言时,如果有一个断言成功,那么结果是成功- 请求数据
  • 模式匹配规则- 字符串:响应内容包含需要匹配的字符串,区分大小写,不支持正则表达式- 包括:响应内容包含需要匹配的字符串,区分大小写,支持正则表达式- 匹配:响应内容完全相等需要匹配的字符串,区分大小写,支持正则表达式- 相等:响应内容完全相等需要匹配的字符串,区分大小写,不支持正则表达式

在这里插入图片描述

  • 测试模式- 断言内容书写框

常用断言方式:响应数据 + 字符串/包含

十二、接口测试调试方案

  • 1.通过查看结果树查看
  • 2.使用调试取样器
  • 3.jmeter结合fiddler实现调试- 把fiddler作为代理。一般在没有接口文档,需要通过抓包获取接口信息时使用

十三、Jmeter数据驱动之——csv参数化处理

应用场景

同一个接口需要执行多组数据时,可以采用csv参数化处理

使用方法

  • 1.在该接口前添加【csv数据文件设置】 - 在取样器右键—配置元件—csv数据文件设置- 准备csv数据,填写路径在这里插入图片描述- 配置循环 - 如果该线程组下只有这一个请求-,那么可以直接设置线程组的循环次数,csv有几组数据,就配置循环几次- 如果该线程组下有多个请求,而只有这一个请求需要循环,那么添加一个循环控制器,将需要循环的请求单独放在循环控制器下。循环次数同上。- 在请求中使用csv参数 - 通过${变量名}来读取变量- 在请求名称、请求数据、断言···中都可以使用- 执行,查看结果树,是否读取csv正确

自动化测试经常会用到

十四、jmeter脚本录制

  • badboy:早已淘汰
  • http代理服务器 (原理:将jmeter作为代理服务器) - 测试计划—右键—非测试元件—http代理服务器- 录制方法 - 端口:8888- 目标控制器:选一个干净的线程组- 设置本机的请求,通过代理服务器发送,配置代理:127.0.0.1:8888- jmeter的http代理服务器启动- 过滤:包含模式、排除模式。注意格式,前后需要加".*",点需要通用反斜杠\转义,参考下图。在这里插入图片描述在这里插入图片描述

十五、jmeter执行数据库操作

参考我的另一篇文档,传送门:

十三、bean shell组件和语言规则

十四、非GUI方式运行

十五、集成

标签: jmeter 测试工具

本文转载自: https://blog.csdn.net/weixin_45532203/article/details/126881043
版权归原作者 chosen1_ln 所有, 如有侵权,请联系我们删除。

“【jmeter】接口测试&接口自动化测试”的评论:

还没有评论