文章目录
接口
什么是接口
软件对外提供的一种用于做数据传输的服务。
对于软件接口测试,特别需要注意的参数是鉴权码,也就是 token, key , appkey 等。
接口测试
测试接口能否正常的进行数据交互,权限控制及异常场景下的响应机制。
接口数据类型
接口数据一般由三部分组成:错误码,描述说明,数据。
而接口数据当前常用的有以下三种格式。
- json
- html
- xml
其中常用的是 json 格式的数据,对于json数据,需要注意校验和加解密,可用 www.bejson.com 在线进行json校验和数据加解密。
接口协议
webservice协议
接口地址一般为: http://…?wsdl
每个接口操作均使用不同的地址,如增删改查等分别使用不同地址
soap协议, wsdl 结尾
restful规则:
- get 获取数据
- post 提交数据
- put 修改数据
- delete 删除数据
使用的地址为同一个,只是使用的规则不同。
dubbo协议
接口地址: dubbo://…
适用于少量数据的传输,大并发。
http协议
接口地址: http://…80%
https=http+ssl安全传输协议 端口使用 443
http 端口使用 80
什么是http协议
超文本协议,主要用于浏览器与服务器之间的数据交互,一般两部分交互:
-
请求
get post put delete -
响应
1xx信息, 2xx成功, 3xx重定向(跳转不传值), 4xx客户端错误, 5xx服务器错误
API测试流程方案
- 接口文档
了解接口业务,接口地址,鉴权,入参,出参,错误码 - 接口计划和方案
一般思路
正:输入正常的入参,接口能否正常返回
反:
鉴权:鉴权为空,鉴权码错误,鉴权码过期
参数:参数为空,参数类型异常,参数长度异常,错误码覆盖
其他场景:分页异常等
接口测试工具
- postman
- jmeter
- soupul
- apipost
- fiddler
- charies
- apitest等一些浏览器插件
鉴权方式
- cookies 鉴权
- session 鉴权
- token 鉴权
- basic
- outh
- 接口签名鉴权
一般出现在金融项目,第三方支付、银行、运营商等- 获取所有参数,包括get\post 里的参数
- 排序 , 按ASCII排序
- 参数改造,以&连接
- 加密,二次加密
- 引入时间戳
- 整体传参
接口签名的失效时间一般是10秒左右
http协议
请求头:
- Accept: 客户端接收的数据格式
- X-Requested-With: 登录接口,异步请求(ajax的技术)
- User-Agent:发送请求的客户端的类型
- Content-Type:请求的内容格式
- Cookie: 发送 Cookie 信息,HTTP Cookie 管理器(jmeter)
cookied的工作原理(HTTP Cookie 管理器原理):
- 在客户端第一次访问服务器时,服务器生成Cookie信息,并在响应头的 set-cookie 中将 Cookie 信息传送给客户端
- 后续第2-N的请求都会在请求头的Cookie 中自动带上 Cookie 信息
作用:Cookie鉴权,证明后续访问通讯的客户端相同。
session 和 token 可以通过 cookie 传输,也可不通过 cookie 传输。
接口测试工具应用场景
- jmeter + ant + jenkins + git/svn 接口自动化
- postman + newman + jenkins + git/svn 接口自动化