接口自动化测试的一种方案

news2024/11/24 5:35:43

前言

去年,我们进行了项目的拆分,拆分后的各个子系统也都逐步的改成了通过接口进行数据的交换,接口测试也被提上日程。经过一段时间的探索,接口自动化测试方案越来越完善,今天给大家做个详细的讲解。

方案

目前我们的接口都是使用的http协议,其测试的基本原理是模拟前端(客户端)向服务器发送数据,得到相应的响应数据,从而判断接口是否可以正常的进行数据交换。在测试的过程中尝试过两种方式,一种是利用性能测试工具Jmeter模拟客户端发起http请求,另外一种是使用python脚本直接编写脚本模拟客户端发起http请求。

利用Jmeter工具配置,需要对如何利用Jmeter进行性能测试熟悉,通过相应的配置可完成,但不够灵活,比如某些字段需要经过特定的加密处理,不能通过Jmeter直接完成。

所以选择直接用python脚本进行,模拟http请求也就几行代码就可完成。但只是模拟请求不是最终的目标,也需要易用,不会编码的人也会维护我们的测试用例,所以形成了现在的形态,遵循了测试框架的一些基本原则,业务逻辑与测试脚本分离,测试脚本与测试数据分离。大致框架如下图所示:

在这里插入图片描述
目录结构如下:在这里插入图片描述
所有的测试用例使用Excel统一管理,测试数据根据需要可以选择配置在Excel中或者保存在测试数据文件中。测试用例格式如下:在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
日志格式如下:在这里插入图片描述
测试完成后可将异常的接口通过邮件发送给相关人。以上是接口测试方案的大致介绍,下面给大家说说具体怎么配置用例。

如何进行测试

测试的核心脚本已经搭建好,后续不会有太大的改动,维护测试用例的Excel表格即可完成后续接口的测试,不管是新接口的测试还是老接口的回归,那如何编写一个接口的测试用例呢?

1、打开测试用例的Excel表格,填写用例编号、接口描述信息,被测接口的域名和请求地址。在这里插入图片描述

2、选择接口请求的方式,目前有两种,一种是POST,一种是GET,根据实际情况选择。在这里插入图片描述 3、选择接口接收数据的方式,目前有三种,Form类型,请求的数据会进行urlencode编码,一般都是这种类型,官网的接口主要是这种;Data类型,以文本的形式直接请求接口,不经过urlencode编码,引擎的接口大部分是这种,选择Data类型时,请求的数据有两种,一种是直接在Excel中配置json字符串,一种是填写文本文件路径,文件中也是json字符串,主要在于post的数据很大时,比如保存案例,在Excel中不好管理。File类型表示上传文件,在测试上传时选择File类型。

在这里插入图片描述
4、配置需要向接口发送的数据,如下图所示,需要根据上一步中选择的类型配置正确的测试数据,除了填写的是文件路径外,数据必须是标准的json格式字符串。在这里插入图片描述
 

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/650583.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

5分钟快速学会App自动化测试xpath定位【快点收藏吧】

今天我们先来和大家说一下appium,首先教大家如何定位xpath,五分钟即可学会: 例: 现在我想定位下面这个登录按钮:​ ​xpath该怎么写呢? 先不管三七二十几,先写//,然后找你要定位元…

中国信通院携手合合信息开启《文档图像篡改检测标准》制定工作

文档图像是信息的重要载体,却经常被不法分子利用软件、算法进行篡改。这些虚假材料往往被用于散播谣言、经济诈骗、编造虚假新闻,给个人、社会造成了恶劣的影响。AIGC全球爆火后,人们对“生成式造假”风险的攀升倍感忧虑,图像内容…

获得忠实铁粉?你也可以

获得忠实铁粉?你也可以 何为铁粉铁粉与普通粉丝区别铁粉规则如何获得铁粉 何为铁粉 在CSDN中,铁粉通常指对某个知名开发者、博主或组织非常支持、崇拜、追随的粉丝。他们可能会关注该开发者或博主的所有文章、博客、视频等,积极参与讨论并分…

如何在国产OpenEuler操作系统上安装ONLYOFFICE桌面编辑器V7.4版本

如何在国产OpenEuler操作系统上安装ONLYOFFICE桌面编辑器V7.4版本 书接上文: 手把手教你如何解开安装UKUI的黑屏故障 不吵嘴仗,华为的OpenEuler开放欧拉操作系统也是一款不可多得的非常好的Linux发行版,只是, 初装的桌面环境&a…

选对预测性维护工具,让设备运行更稳定

随着技术的不断进步,预测性维护(Predictive Maintenance,简称PdM)在现代工业中扮演着至关重要的角色。选择适合自身需求的预测性维护工具是企业在实施PM策略时的重要决策。本文将探讨在选择预测性维护工具时需要考虑的关键因素和决…

LeetCode36 有效的数独

请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图) …

不愧是字节出来的,太强了...

前段时间公司缺人,也面了许多测试,当然也没指望能来大牛,薪资提供在15K~20k左右,来面试的人有很多,但是平均水平真的让人很失望。 看了简历很多上面都是写有4/5年工作经验,但在面试中,我大为震…

AI智能时代的专有云|百度智能云ABC Stack亮相2023 NAVIGATE 领航者峰会

近日,百度智能云ABC Stack亮相由紫光集团和新华三集团主办的“2023 NAVIGATE 领航者峰会”互联网线上专题论坛。百度智能云私有云部副总经理史磊进行了主题为“百度智能云携手新华三共创互联网新时代”的演讲,分享了百度专有云ABC Stack智算版的技术优势…

Mac环境python + selenium 环境搭建

文章主要讲解Mac环境下如何搭建selenium环境。作者也是测试初学者,对selenium目前是一无所知的状态,希望从搭建环境开始对它逐步了解。 环境准备 本文采用的环境:• Python 3.7.3 PS: Mac环境会默认自带Python环境,但…

chatgpt赋能python:Python如何使用爬虫技术进行网页操作和SEO优化

Python如何使用爬虫技术进行网页操作和SEO优化 随着互联网的快速发展,越来越多的企业开始意识到网站的SEO优化的重要性。在这个过程中,Python作为一种高效的编程语言,在网页操作和SEO优化方面也扮演着举足轻重的角色。本篇文章将简要介绍Pyt…

LuaJIT Bytecode结构布局

一、Bytecode的存储结构 LuaJIT的Bytecode位宽为32位,在parse阶段用结构体BCInsLine表示,ins表示32位长的字字节码指令,line表示字节码的行号: typedef struct BCInsLine {BCIns ins; /* Bytecode instruction. */BC…

React性能优化API

一、常见性能优化API shouldComponentUpdate:通过重写该函数实现组件的条件渲染,即只有在组件的 props 或 state 发生变化时才重新渲染组件。 PureComponent:React 自带的一个纯组件,其 shouldComponentUpdate 函数已经被自动实现…

向量数据库发展迎里程碑时刻!Zilliz Cloud 全新升级:超高性价比,向量数据库唾手可得

随着 Zilliz Cloud[1] 版本全新升级,向量数据库再度迎来里程碑式发展! 升级后的 Zilliz Cloud 不仅新增了诸如支持 JSON 数据类型、动态 Schema 、Partition key 等新特性,而且在价格上给出了史无前例的优惠,例如推出人人可免费使…

基于Java网络游戏公司官方平台设计实现(源码+lw+部署文档+讲解等)

博主介绍: ✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战 ✌ 🍅 文末获取源码联系 🍅 👇🏻 精…

p5.js 开发点彩画派的绘画工具

theme: smartblue 本文简介 点赞 关注 收藏 学会了 这几天在整理书柜时看到这套书,看到梵高,想起他的点彩画。 想到点彩画派,不得不提的一个画家叫乔治皮埃尔秀拉。据说梵高也模仿过他的画作。 我引用一下维基百科对点彩画派的解析&#x…

一文读懂功率信号源(信号发生器)

功率信号源是一种用于产生高功率信号的电子设备,它广泛应用于各个领域,在生产、测试和调试中起着重要的作用。下面就让安泰将介绍功率信号源的基本概念、工作原理、分类以及应用。 功率信号源是一种能够产生稳定输出功率的设备。它通常由一个稳压电源和一…

图解LeetCode——200. 岛屿数量

一、题目 给你一个由 1(陆地)和 0(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格…

还在用策略模式解决 if-else?Map+函数式接口方法才是YYDS!

需求 最近写了一个服务:根据优惠券的类型resourceType和编码resourceId来 查询 发放方式grantType和领取规则 实现方式: 根据优惠券类型resourceType -> 确定查询哪个数据表 根据编码resourceId -> 到对应的数据表里边查询优惠券的派发方式gran…

MAC卸载深信服edr

一、普通办法 1、首先在应用程序中找到终端防护中心,右键显示原项目。 2、全选删除所有文件,其中有一个sfavtray文件无法删除,这里先删除其他文件,不然底3步结束进程会自动恢复。 3、在活动监视器中查找进程名为sfavtray、edr的进…

DuiLib了解 XML使用和布局控制

文章目录 1、了解 XML使用和布局控制2、内外边距3、浮动4、占位符5、默认样式6、全局字体 1、了解 XML使用和布局控制 通过上一篇的学习我们可以制作一个简单的布局了,但是没有控件的窗口做再好的布局有什么用呀。赶紧找些素材,我们来做一个标准的 Wind…