一、接口测试简介
接口测试:系统各组件接口之间的测试。
测试外部接口:被测系统与外部系统之间的接口。(只用测试正例)
测试内部接口:
1.对于只提供给内部系统使用的接口(只用测试正例)
2.对于提供给外部系统使用的接口(要进行全面的测试)
二、接口测试流程以及用例设计
(一)测试流程
1.拿到接口API文档(如果没有,可以通过抓包工具获取API文档)
熟悉接口业务、接口地址、鉴权方式,入参出参,错误码设置等。
2.编写接口用例以及评审
思路:
(1)按正例、反例(正例优先级高,反例优先级中级)
正例:输入正常入参、接口能够成功返回数据。
反例:①鉴权反例:为空、错误、过期等失效场景
②参数反例:为空、类型异常、长度异常等
③错误码覆盖:根据业务确定错误码
④其他错误场景:接口黑名单、接口调用次数限制、分页场景等
3.使用接口测试工具postman执行接口测试
4.postman+Newman+Jenkins实现持续集成,并且输出测试报告并发送邮件。
三、实战接口测试——微信公众平台API
调用接口获取权限需要:
(1)appid;
(2)secret(秘钥)
接口测试号申请:https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Requesting_an_API_Test_Account.html
接口测试号内权限
四、postman
1.workspace介绍
2.get请求页签介绍
3.输入APPID和secret
返回token和鉴权码
返回页签
(1)body
4.post请求
access_token:由开始开发→获取Access token获得
industy_id由body中的json格式传参
由于每月可更改1次所选行业;在多次修改后,获得修改恒业过于频繁的提示!
note:
get请求和post请求的区别
1.get请求一般是发送数据,post请求一般是获取数据
2.post请求比get请求更安全,因为get请求的参数是直接在URL中的,隐私性差,且请求的数据长度有限一般为2-8k。
3.get请求在URL中用?传参,且用&连接各个参数;post请求在body中以表单的方式传参。
4.get请求刷新服务器或回退没有影响,post请求回退时会重新提交数据请求。
5.get请求可以被缓存,post请求不会被缓存。
6.get请求只能进行url编码(appliacation-x-www-form-urlencoded),post请求支持多种(multipart/form-data等)
7.get 和 post都是http请求方式, 底层都是 TCP/IP协议;通常get 产生一个 TCP 数据包;post产生两个 TCP 数据包(但firefox是发送一个数据包)
8.对于get 方式的请求,浏览器会把 http header 和 data 一并发送出去,服务器响应 200(返回数据)表示成功;
而对于post,浏览器先发送 header,服务器响应 100, 浏览器再继续发送 data,服务器响应 200 (返回数据)。