一、简介和分类
接口测试是测试系统组件接口之间的测试。
分类:
测试外部接口:测试被测系统和外部系统之间的接口。(只需要测试正例即可)。
测试内部接口:
- 内部接口只提供给内部系统使用。(例如保险公司,预算系统,承保系统)(只需要测试正例即可)。
- 内部接口提供给外部系统使用。(测试必须非常全面,正例,各种异常场景,权限控制)
二、接口测试的流程以及用例的设计思路
- 拿到接口API文档(通过抓包工具获取),熟悉接口业务,接口地址,鉴权方式,入参,出参,错误码。
接口API文档如下图:

- 编写接口用例以及评审。
思路:
- 正例:输入正常入参,接口能够成功返回数据。
- 反例: - 鉴权反例: - 鉴权码为空,鉴权码错误,鉴权码过期,......- 参数反例: - 参数为空,参数类型异常,参数长度异常。- 错误码覆盖: - 根据业务而定。- 其他错误场景: - 接口黑名单,接口调用次数限制,分页场景。
参考如下接口用例文档截图:

使用接口测试工具Postman执行接口测试。
Postman+Newman+Jenkins实现持续集成,并且输出测试报告,发送邮件。
三、Postman的简介、安装
Postman客户端安装
官网地址下载即可
Download Postman | Get Started for FreeTry Postman for free! Join 17 million developers who rely on Postman, the collaboration platform for API development. Create better APIs—faster.https://www.postman.com/downloads/
免费注册和登录Postman SaaS云服务

Postman界面简要介绍
- Home
- Workspaces 工作空间 - Collections - 集合,项目集合- API - API文档- Environments - 环境变量,全局变量- Mock Server - 模拟服务器,虚拟服务器- Monitor - 监听服务- History - 请求历史记录
创建项目名称与API请求 - Get
参照上面API文档描述:
- 请求方式:Get
- 请求URL:
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
- 创建Collection
- 创建请求
- 复制URL到Postman

Postman执行接口测试
请求页面
- Params: get请求传递参数
- Authorization: 鉴权
- headers: 请求头
- Body: post请求传递参数 - none: 没有参数- form-data: 既可以传键值对也可以传文件。- x-www-form-urlencoded: 只能够传键值对参数- raw: 可传json, text, xml, html, javascript类型参数- binary: 二进制文件
- pre-request-script: 请求之前的脚本。
- tests: 请求之后的断言。对测试接口的判断。
- Setting: 对当前请求做设置。
- Cookies: 用于管理cookie信息。
执行接口GET测试

1. 输入appid与secret信息,可以复制下方信息:
appid: wx6b11b3efd1cdc290
secret: 106a9c6157c4db5f6029918738f9529d
2. 点击Send
3. 查看返回结果,成功获得access_token,符合API文档中的返回结果描述。

响应页面
- Body: 接口返回的数据。 - Pretty: 以json, html, xml 等不同的格式查看返回的数据。- Raw: 以文本方式查看返回数据。- Preview: 以网页方式查看返回数据。
- Cookies: 响应的Cookie信息。
- Headers: 响应头
- Test Results: 断言结果。
- 其他如下图,200状态码, OK状态信息,253ms接口响应时间, 343B响应字节数

创建API请求 - POST
参考API文档示例如下,请求方式为:POST

在Postman中同一个collection下面创建一个新的请求,然后修改请求方式为POST,填写请求URL。如下图:
请求方式: POST
请求URL: https://api.weixin.qq.com/cgi-bin/tags/create?access_token=ACCESS_TOKEN

本项POST测试需要上一个get测试的响应结果access_token,将引号内的access_token复制到VALUE中。
然后点击Body标签,如下图填入上传参数。{“tag”:{"name":"刘磊"}}

点击Send按钮即可。查看返回结果。如API文档中示例:

Get请求与Post请求的区别
- Get请求一般是获取数据。Post请求一般是提交数据。
- Post请求比Get请求安全。
- 本质区别是传参的方式不一样: 1. Get请求在地址栏后面以?的方式传参,多个参数用&分隔。2. Post请求是在Body里以表单的方式传参。
附免费的API接口,玩玩:阿里云上有一些免费API,并且整合了一些小的数据服务公司。
易源数据-星座运势【最新版】_数据API_数据应用_生活服务-云市场-阿里云
全国天气预报查询(免费版)_气象查询服务_气象API-极速数据【最新版】_天气预报_数据应用_API-云市场-阿里云
版权归原作者 ryanlll3 所有, 如有侵权,请联系我们删除。