接口(API测试)
1. 概述
用户可在此查阅Choerodon猪齿鱼平台以及Hzero框架的接口,并能对其进行测试。
API测试需要与应用程序的API进行交互,测试时通过工具调用特定的API,获取输出,并记录系统的响应。
2. 查看各服务下的API接口
- 进入平台管理,点击菜单“运营>接口”,进入接口测试页面。
- 在树形界面选择您想要查看的API所属微服务。
- 在树形界面选择对应的版本。
点击API接口所在的controller,展开该controller下的所有API接口。
- 方法:
- GET(SELECT):从服务器取出资源(一项或多项)。
- POST(CREATE):在服务器新建一个资源。
- PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
- PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
- DELETE(DELETE):从服务器删除资源。
- OPTIONS:获取信息,关于资源的哪些属性是客户端可以改变的。
- 方法:
点击任意API接口,就可以查看该API接口的详情。
3. 测试API接口
API的测试要点:
- API所暴露的资源是否恰当的列出、创建、删除、修改
- API是否可用,以及能被调用
- 根据具体的业务流程,实现自动化测试
- API是否包含了必要的认证,敏感数据是否做了脱敏处理,是否支持加密或明码的http访问
测试API接口能发现的问题一般包括:
- 不能正确处理有效参数值
- 无法正确处理错误的深入条件
- 缺少功能
- 功能重复
- 可靠性问题、安全问题、性能问题
- 多线程问题
- 响应数据结构不规范问题
步骤:
点击API接口查看详情。
可以查看API接口的详细信息,包括接口基本信息、请求参数信息、响应数据信息。
- 接口信息:
- 请求方式:即API接口的方法,如GET、POST、PUT、DELETE。
- 路径:给API发送请求需要访问的URL。
- 描述:API接口的功能描述。
- Action:接口所执行的操作,与方法相对应,如方法为POST时,Action为CREATE。
- 权限层级:分为全局、组织、项目三个层级。
- 权限编码:访问接口所需的权限的编码。
- 是否为登录可访问:如果为
是
,则不做权限控制,表示只要是登录系统的用户,都有能访问该API接口的权限。如果为否
,则需要对该API接口做权限控制。 - 是否为公开权限:如果为
是
,则不需要登录就可以访问API接口。 - 请求格式:请求参数的格式。
- 响应格式:响应数据的格式。
- 请求参数信息:
- 参数名称:请求参数的名称。
- 参数描述:描述请求参数的作用。
- 参数类型:利用HTTP协议向服务器传参的途径。参数类型如query,查询字符串,一般为key1=value1&key2=value2;body,请求体,一般采用json发送数据。
- 请求数据类型:参数值的类型。如Long长整型,DTO形式所包含的多种参数值的类型等。
- 响应数据信息: 响应数据以json的格式进行定义。展示了返回的参数和参数值的数据类型的信息。并且添加了注释,使用户能参照参数的说明
- 接口信息:
输入请求参数值,点击发送按钮进行接口测试。
如果参数名称有红色星号,则表示该参数为必输项。根据请求数据的类型填入合适的请求数据。路径默认为接口信息的路径,用户也可以根据需求修改路径。
填写完请求参数数据和路径后,点击发送按钮。出现测试结果:
- 响应码:用以表示网页服务器超文本传输协议响应状态的3位数字代码。1XX消息,代表请求已被接受,需要继续处理。2XX成功,代表请求已成功被服务器接收、理解、并接受。3XX重定向,代表需要客户端采取进一步的操作才能完成请求。通常,这些状态码用来重定向。4XX客户端错误,代表了客户端看起来可能发生了错误,妨碍了服务器的处理。5XX服务器错误,表示服务器无法完成明显有效的请求。
- 响应主体:传递服务器响应给客户端要显示的内容,可以是下载文件或者显示界面。
- 响应头部:服务器与客户端通信的暗码,告诉客户端该怎么执行某些操作。
- CURL:是一个利用URL语法在命令行下工作的文件传输工具。复制CURL得内容可在终端运行页面上得请求。