Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >五分钟掌握接口自动化测试

五分钟掌握接口自动化测试

原创
作者头像
用户9253502
修改于 2023-06-09 09:36:35
修改于 2023-06-09 09:36:35
4380
举报

一. 什么是接口测试

接口测试是一种软件测试方法,用于验证不同软件组件之间的通信接口是否按预期工作。在接口测试中,测试人员会发送请求并检查接收到的响应,以确保接口在不同场景下都能正常工作。

就工具而言,常见的测试工具有Jmeter、Postman等。但这类工具往往更是做接口调试,对于做自动化以及测试集成却不够理想,因此便有了接口测试脚本,JavaPython、GO等语言都能支持。

然而语言总归是要学习成本的,因此陆续开始有了各类测试平台。为什么做测试平台?即将接口测试工具与接口测试脚本结合起来,实现像测试工具做接口调试一样简单,同时也能更好的支撑场景化测试、持续集成测试。

二. 接口测试的要素有哪些

接口测试其实无外乎就是将请求发送出去并验证响应结果。我们常做的接口测试主要是HTTP协议,针对这类接口,其请求数据,主要构成是:请求方法,请求地址,请求头,请求参数。

请求方法即是常见的GET/POST/PUT/DELETE等,根据接口文档来维护即可,只是定义了不同的请求方式而已。

至于请求地址,在做自动化测试时,又可以拆分为请求域名和请求路由,一般来说不同的环境域名会产生变化,但是路由一般是固定的,因为我们在做测试集成时为保证一个接口请求能在多个环境下执行,会选择将域名提出来放在环境中管理,而每个接口对应的域名通常可以根据路由的值来匹配即可。当然在微服务架构中,我们也可以给每个接口打上微服务的标识,而同一个微服务的接口无论在任何环境下其域名应当是一致的。因此除了通过路由匹配,我们也可以通过微服务标识来匹配,我称之为域名标识。

此外,接口测试最重要的一点就是登录验证,通常会有四种方式。RestAPI最常见的是Session/Cookies和Token,OpenAPI一般是OAuth,最古老的鉴权则是HTTP Basic Authorization。对于Cookies和Token,一般我们都是通过放在请求头中发送出去,Session一般都是作为状态管理员来保存,通常编程语言的HTTP包会自带该方法,我们需要做的无外乎就是在登录后保存这个Session即可。至于OAuth,通常是需要加密成一个签名来做校验,我会在后面单独开一篇文章来介绍具体的使用。

对于请求数据,一般有三种方式,分别是:查询参数、路由参数以及请求体。查询参数即将参数转变为name=value的形式放在请求地址后面,以?号分隔多个参数中间加&符。路由参数往往是将参数值放在路由中,因此路由的值往往会是动态的,且路由数量也是不定的。至于请求体则比较好理解,一般常用的是表单和json串。当然古老的接口也有文本格式/XML格式等,另外就是文件上传的接口会是二进制流。

最最重要的一点就是,无论什么业务,接口测试一定要有断言,没有断言的接口测试用例就是在耍流氓。因此接口还有一个重大要素就是编写断言,断言的方式有很多,可以断言接口的响应数据,对于数据增删改的接口同样也可以去断言数据库的内容。

三. 如何用开源工具平台来做接口自动化测试

前面了解了接口自动化测试基本原理之后,我们用一款开源测试平台来快速的实现一个简单的接口自动化测试用例编写,接下来我们合并图文来介绍用法:

第一步:创建环境,如上所述,环境是接口测试用例为了能在多环境复用下不可缺少的一部分。环境创建完成后,还需要在环境下创建域名,域名匹配规则在上文介绍过,可以通过路由匹配和域名标识匹配。

新增环境
新增环境

第二步:创建接口,我们在做自动化测试时,接口需要单独维护和管理,从而做到当接口发生变化时,只需要维护接口管理处的接口,所有引用该接口的用例都能随之变化,提升维护效率。在创建接口前,我们可以先创建接口所属的业务模块,同样的也方便后期快速找到接口。

而接口需要维护的数据也很简单,即前面所述的四大请求数据即可完成最基础的接口信息维护。当然为了后期记忆,我们最好还是给接口起个名字加个描述。同时,如果希望使用域名标识,则给接口绑定上一个微服务的标识即可。

新增接口
新增接口

第三步:做好了接口维护,那就可以开始写接口用例了。接口用例其实不过是在接口上面再套一层壳罢了,之所以套上这层壳,主要目的还是为了做业务逻辑的验证,可能一个业务逻辑的验证需要执行多个接口,将多个接口加入到一个用例中,即可完成。如果多个接口之间数据有依赖关系,也可以通过一些关联参数的引用实现,这在后面的文章我会单独介绍。

新增用例
新增用例

第四步:接口加进来后,直接调试。选择之前维护的环境执行即可。调试成功后,维护一下用例的基本信息,如给用例起个名字,写一段描述,点击保存,即完成一条接口自动化用例的编写。

调试用例
调试用例

四. 总结

通过上述的几个步骤,不难看出,在使用平台后,完全可以抛弃代码编写接口测试脚本那一套方案,而且便捷程度不属于postman等工具。最大的好处是,用例保存服务端,我们可以任意编排用例去执行,从而验证不同的需求。只要用例数据设计得当,即便是换产品经理来验证,选好用例直接执行也能完成自动化测试。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
基于HttpRunner4.0的接口自动化测试实践
前几天逛测试论坛,发现HttpRunner竟然推出v4.0版本,感到非常的激动和欢喜。对于HttpRunner工具,在我上家公司是使用HttpRunner1.0版本为基础二次开发成公司通用接口自动化框架并且集成到测试管理平台,直到现在也一直服务公司内部业务测试,不仅可以快速进行需求自动化测试、还可以进行回归测试验证服务框架升级等需求。
测试加
2022/06/21
2.7K0
基于HttpRunner4.0的接口自动化测试实践
又一款国产自动化测试平台,开源了!
“时间就是金钱,效率就是生命”,在当下的社会里不仅我们的生活节奏变得越来越快,软件研发上线的节奏也是如此。在如此快节奏的软件开发环境中,高质量的软件测试变得尤为重要。
测试开发技术
2023/08/21
1K0
又一款国产自动化测试平台,开源了!
高级自动化测试常见面试题(Web、App、接口)
1.Selenium中hidden或者是display = none的元素是否可以定位到?
测试开发技术
2021/09/15
4.9K0
自动化测试实践总结
  内容已经有了,但是标题想了很久,最终还是决定用这个。简单清楚明了——总结一场失败的自动化测试案例。
全栈测试开发日记
2023/02/02
6880
让接口自动化测试灵动起来
当前市面上存在的接口测试工具已经非常多,常见的如Postman、JMeter、RobotFramework等,相信大多数测试人员都有使用过,至少从接触到的大多数简历的描述上看是这样的。除了这些成熟的工具,也有很多有一定技术能力的测试(开发)人员自行开发了一些接口测试框架,质量也是参差不齐。
测试加
2022/06/21
3630
让接口自动化测试灵动起来
从零到一落地接口自动化测试
昨天花了几个小时看完了陈磊老师的《接口测试入门课》,有一些新的收获,结合我自己实践自动化测试的一些经验以及个人理解,这篇文章来聊聊新手如何从零到一落地实践接口自动化测试。
老_张
2023/03/01
7030
从零到一落地接口自动化测试
测试人员必备:常用自动化测试工具
官网:https://software.microfocus.com/en-us/products/unified-functional-automated-testing/overview
测试开发技术
2021/11/04
3.6K0
功能测试面试没人要了!软件自动化测试如何入门?
对于我来说,我做的是web端的测试,做测试也有好几个年头了,每次都是使用手工测试的话,一直是做重复性的工作,既枯燥又繁琐,所以我在两年前自己使用java语言写了一系列的自动化测试脚本,利用的框架是java+testng+reportng+selenium,这个框架在项目中基本可用了。
伤心的辣条
2022/09/08
5050
功能测试面试没人要了!软件自动化测试如何入门?
接口自动化测试多场景实践 - 上篇
当今互联网业务高速发展,无论是各行各业行业,都需要服务端来进行数据存储、逻辑处理等操作。为了更好提升用户体验、满足业务需求,最近几年服务端技术架构从传统的单体应用架构升级到微服务架构。
测试加
2023/02/17
7680
接口自动化测试多场景实践 - 上篇
非常火的接口自动化测试要如何开展呢?
前几天在某个测试交流群,听了一个测试老司机分享接口自动化测试的内容,对接口自动化有了更深的一些认识,也为接下来公司的接口自动化实施,提供了更多的思路。
可可的测试小栈
2021/12/29
8360
非常火的接口自动化测试要如何开展呢?
巧用自动化测试组合拳保证产品质量
“如何保证质量”一直是产品或项目过程中关注的焦点,而测试是产品质量把控环节中非常关键的部分。本文结合我们的实践经验,总结出一套有效的自动化测试组合拳。
宜信技术学院
2019/09/17
1.7K0
什么是自动化测试?好用的自动化测试工具推荐
自动化测试就是利用专门的软件工具来执行测试用例,并将实际结果与预期结果进行比对的过程。与手动测试相比,自动化测试能够大大提高测试效率,降低人为错误,增加测试覆盖率,同时还能节省大量时间和成本。
用户8721171
2024/08/20
3760
什么是自动化测试?好用的自动化测试工具推荐
五分钟学会接口自动化测试框架
自动化测试,这几年行业内的热词,也是测试人员进阶的必备技能,更是软件测试未来发展的趋势。
测试蔡坨坨
2022/09/26
1K0
接口自动化测试--准备阶段
客户端(前端)与服务端(后端)的关系,一般小编会理解为“服务端负责赚钱养家,客户端负责貌美如花”。客户端更注重的是功能呈现及用户体验,怎么将强大的功能精彩的界面呈现给不同的用户,怎么吸引用户使用它,而服务端则是更多的输出所提供功能服务,如功能逻辑,业务逻辑,算法等等,是完美呈现功能的数据提供者。比如你想买件上衣,那么推荐算法给你推荐的就是上衣,而不是裤子。而接口正是服务端提供给客户端这些功强大功能的一个桥梁。
用户5521279
2019/08/28
7310
接口自动化测试--准备阶段
接口自动化测试实践指导(上):接口自动化需要做哪些准备工作
在这里先不做解答,大家可以带着这个问题去阅读后面的内容,相信自然会得到这个问题的答案。
Wu_Candy
2022/07/05
6590
接口自动化测试实践指导(上):接口自动化需要做哪些准备工作
使用postman 自动化测试接口
软件测试是软件开发的重要组成部分,是贯穿整个软件生命周期,对软件产品进行验证和确认的活动过程,其目的是尽早发现软件产品中存在的各种问题,如与用户需求、预先定义不一致等问题。
狂奔滴小马
2021/11/15
1.1K0
使用postman 自动化测试接口
软件测试之自动化测试
自动化测试 自动化测试指软件测试的自动化,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最后评估运行结果。将人为驱动的测试行为转化为机器执行的过程。
测试开发社区
2019/09/20
2K0
软件测试之自动化测试
Apifox:API 接口自动化测试完全指南
大家好,这是一篇关于 Apifox 的接口自动化测试教程。相信你已经对 Apifox 有所了解:“集 API 文档、API 调试、API Mock、API 自动化测试,更先进的 API 设计/开发/测试工具”。
物立
2023/04/10
1.9K0
Apifox:API 接口自动化测试完全指南
自动化测试+性能面试题整理–个人最新【持续更新】「建议收藏」
公司要求招一名自动化测试,能力要求不高,1年左右自动化经验+部分性能经验即可,让我出一份题,我就百度+公司项目遇到的问题,出了一份,出题整体思路是:接口自动化问题+性能问题+规划的ui、app自动化+整体质量体系建设等多方面考虑。下面是正题
全栈程序员站长
2022/11/11
2.3K0
自动化测试+性能面试题整理–个人最新【持续更新】「建议收藏」
前端自动化测试入门
先来了解一下什么是自动化测试?自动化测试是指使用软件工具自动执行测试用例的过程,以验证应用程序的功能、性能和稳定性。在前端开发中,自动化测试通常涉及用户界面、API调用、页面加载时间等方面。
三掌柜
2024/09/19
2540
前端自动化测试入门
相关推荐
基于HttpRunner4.0的接口自动化测试实践
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档