[发明专利]一种用于服务开放平台的API测试方法及系统在审
申请号: | 202011509272.6 | 申请日: | 2020-12-18 |
公开(公告)号: | CN112632527A | 公开(公告)日: | 2021-04-09 |
发明(设计)人: | 白雪珂;袁自强;舒南飞;林文辉;李瑞祥 | 申请(专利权)人: | 航天信息股份有限公司 |
主分类号: | G06F21/53 | 分类号: | G06F21/53;G06F11/36 |
代理公司: | 北京工信联合知识产权代理有限公司 11266 | 代理人: | 姜丽辉 |
地址: | 100195 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 服务 开放 平台 api 测试 方法 系统 | ||
1.一种用于服务开放平台的API测试方法,其特征在于,所述方法包括:
基于Kubernetes命名空间将生产环境网关与沙盒环境网关进行隔离,确定沙盒环境网关的最小资源需求,并根据所述最小资源需求基于yaml文件实现沙盒环境网关服务的快速部署;
发布者通过服务开放平台将已在生产环境创建的API同步到沙盒环境;
当发布者进行API测试时,在沙盒环境网关创建匿名用户,使得发布者利用所述匿名角色通过修改参数值发起服务调用请求,通过沙盒环境网关将所述服务调用请求转发到后端服务,并获取服务调用响应信息,以使得发布者根据所述响应信息确定API调试结果;
当调用者进行API测试时,在沙盒环境网关创建临时用户,为所述临时用户赋予API访问权限,使得调用能利用所述临时用户角色通过修改参数值发起服务调用请求,通过沙盒环境网关将所述服务调用请求转发到后端服务,并获取服务调用响应信息,以使得调用者根据所述响应信息确定API测试结果。
2.根据权利要求1所述的方法,其特征在于,所述确定沙盒环境网关的最小资源需求,包括:
基于所述生产环境的资源使用情况、历史调用统计数据和沙盒环境服务调用的最大并发限制,确定沙盒环境网关的CPU、内存和实例个数。
3.根据权利要求1所述的方法,其特征在于,所述方法利用如下方式将已在生产环境创建的API同步到沙盒环境,包括:
从数据库获取API名称、后端地址、前端访问地址和认证方式,基于相应API信息在沙盒环境网关创建API所需的target、upstream、service和route,并绑定API认证方式对应的插件和访问流量限制插件;
以及在当API存在测试环境后端访问地址时,在将API同步沙盒环境时,将后端地址设置为测试环境后端地址。
4.根据权利要求1所述的方法,其特征在于,所述响应信息包括:响应码信息、响应延时信息、响应Header信息和响应body信息。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
为所述匿名用户创建对应的流量限制插件;
为所述临时用户创建对应的认证插件和流量限制插件。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
设定服务请求地址对应的沙盒环境API的访问地址、参数值和认证信息并自动生成预设语言的沙盒环境服务访问sdk,同时调用者通过将服务请求地址改为生产环境API的访问地址,将认证信息改为平台授权后获取的认证信息,实现利用sdk调用生产环境API。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
沙盒环境网关通过logstash将API测试功能的访问日志导入ElasticSearch,以对访问日志实时监测,并在当峰值访问量或访问流量超过沙盒环境网关的能力时,进行告警,使得管理员能及时对沙盒环境网关进行弹性扩展实例。
8.一种用于服务开放平台的API测试系统,其特征在于,所述系统包括:
沙盒环境网关搭建单元,用于基于Kubernetes命名空间将生产环境网关与沙盒环境网关进行隔离,确定沙盒环境网关的最小资源需求,并根据所述最小资源需求基于yaml文件实现沙盒环境网关服务的快速部署;
API同步单元,用于使发布者通过服务开放平台将已在生产环境创建的API同步到沙盒环境;
API调试单元,用于当发布者进行API测试时,在沙盒环境网关创建匿名用户,使得发布者利用所述匿名角色通过修改参数值发起服务调用请求,通过沙盒环境网关将所述服务调用请求转发到后端服务,并获取服务调用响应信息,以使得发布者根据所述响应信息确定API调试结果;
API测试单元,用于当调用者进行API测试时,在沙盒环境网关创建临时用户,为所述临时用户赋予API访问权限,使得调用能利用所述临时用户角色通过修改参数值发起服务调用请求,通过沙盒环境网关将所述服务调用请求转发到后端服务,并获取服务调用响应信息,以使得调用者根据所述响应信息确定API测试结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于航天信息股份有限公司,未经航天信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011509272.6/1.html,转载请声明来源钻瓜专利网。