使用Postman进行一次完整的接口测试

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

在对接口进行测试之前,得先了解一下接口的相关概念以及为什么要对接口进行测试

那么,什么是接口呢?

接口主要用于外部系统与系统之间以及内部各个子系统之间的交互点,定义特定的交互点,然后通过这些交互点来通过一些特殊的规则也就是协议,来进行数据之间的交互。

接口类型又有哪些?

接口一般分为两种:

1.程序内部的接口

2.系统对外的接口

系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的。

程序内部的接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,通过接口来达到内部模块之间的相互调用。

为什么要做接口测试?

1、只靠前端测试很难确保很高的覆盖率。接口测试,可以模拟出各种类型的入参,包括一些在前端模拟不出来的入参,还能根据接口文档的定义,设计出相对完善的入参值,在接口层保证质量,剩余的绝大多数问题就是应用程序自身的交互和数据展示问题。

2、接口测试相对于交互界面测试和功能测试来说,更容易实现自动化,执行起来比较稳定,维护成本也比较低。接口自动化适用于回归测试等,可以减少人工回归测试的人力成本。

3、目前的大多数系统前后端代码会分给不同的开发团队,而前后端的联动需要接口来进行联调。

从安全层面来说,只依赖前端进行数据操作已经不能满足安全要求,因为绕过前端相对容易,若想在后端进行输入校验,就需要通过接口测试去验证数据的完整性与准确性。

如何进行接口测试?

由于我们项目前后端调用主要是基于http协议的接口,所以测试接口时主要是通过工具或代码模拟http请求的发送与接收。工具有很多如:postman、jmeter、以及最近很火的Apipost,其实工具大同小异,本篇文章小橘子就主要通过postman来给大家演示如何对企业微信外部接口进行测试

测试工具:postman

测试对象与类型:企业微信外部接口

测试文档:详情参考企业微信API

https://developer.work.weixin.qq.com/document

测试目的:通过对企业微信外部接口的测试,了解接口测试的基本场景与测试方法

测试流程:

1、拿到并熟悉熟悉API文档

2、评估测试工期,输出测试计划和测试方案

3、编写接口测试用例

4、搭建测试环境,执行测试

5、反馈或评估测试结果

7、输出测试报告

测试步骤:(此次测试仅为演示)

打开企业微信并进行登录(需要管理端),没有企业微信的小伙伴们不要慌,直接自己创建一个新企业默认就是管理员,不需要任何审核,完成测试之后注销即可。

添加自建应用

登录企业微信管理端 -> 应用与小程序 -> 应用 -> 自建,点击"创建应用",设置应用logo、应用名称等信息,创建应用。

创建完成后,在管理端的应用列表里进入该应用,可以看到agentid、secret等信息,这些信息在使用企业微信API时会用到。

创建完成后,该应用会自动出现在可见范围内的成员的企业微信终端上(包括手机端、pc端、微信插件)

使用工具调试api

我们已经创建好一个自建应用,且拿到了可用的应用id及secret,如何调用api控制这个应用呢?下面以发消息为例说明如何调试api接口。

调用api的过程,本质上就是发送http请求给企业微信后台,在正式开发前,我们可以使用工具模拟http请求调试api。这里以 postman 为例,当然你也可以使用其它http模拟工具。

发消息api其实就是一个post请求

请求方式:POST(HTTPS)

请求地址: https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN

post 参数为 access_token 和 消息体。

1.获取access_token

access_token是应用调用api的凭证,由 corpid和corpsecret换取。

请求方式:GET(HTTPS)

请求URL:https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID\&corpsecret=SECRET

使用postman发送这样一个GET请求即可得到access_token(请把截图中的corpid、corpsecret换为自己的corpid、应用secret)

2.构造消息体

参考发送应用消息,可以发送文本、图片、视频等多种类型的应用消息,这里以最简单的文本消息为例:(注意修改touser、agentid为自己想要的接收者userid列表、应用id)

复制代码
{
   "touser" : "abelzhu|ZhuShengben",
   "msgtype" : "text",
   "agentid" : 1000002,
   "text" : {
       "content" : "这是一个测试"
   },
   "safe":0
}

3.发送消息

如下图示,以上面两步得到的access_token和消息体为参数,在postman中发送post请求即可(红色箭头所指为需要注意的点)

如果发送成功,在接收者的企业微信中的相应应用里,会收到发送的文本消息。

至此,一条接口测试用例就执行完毕了,一般来说,在拿到API文档之后,我们需要对API文档进行整体规划测试,整理出测试方案,对新增或者已有接口进行用例设计,尽量将场景(正向流程or逆向流程)考虑周全,只有这样才能输出较为完善的测试报告。

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

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

相关推荐
ID_180079054735 小时前
除了 Python,还有哪些语言可以解析 JSON 数据?
开发语言·python·json
FreakStudio6 小时前
小作坊 GitHub 协作闭环:fork-sync-dev-pr-merge 实战指南
python·单片机·嵌入式·面向对象·电子diy
普通网友7 小时前
阿里云国际版服务器,真的是学生党的性价比之选吗?
后端·python·阿里云·flask·云计算
小陈工7 小时前
2026年4月2日技术资讯洞察:数据库融合革命、端侧AI突破与脑机接口产业化
开发语言·前端·数据库·人工智能·python·安全
陈晓明start8 小时前
【python】豆包模型,自动生成测试用例初探索
python
阿kun要赚马内8 小时前
Python中元组和列表差异:底层结构分析
开发语言·python
万添裁8 小时前
pytorch的张量数据结构以及各种操作函数的底层原理
人工智能·pytorch·python
浔川python社8 小时前
张雪机车:以热爱为轮,让中国摩托驰骋世界之巅
python
zl_dfq8 小时前
Python学习5 之【字符串】
python·学习