一种用于服务开放平台的API测试方法及系统技术方案

技术编号:28036172 阅读:18 留言:0更新日期:2021-04-09 23:18
本发明专利技术公开了一种用于服务开放平台的API测试方法及系统,包括:基于Kubernetes命名空间将生产环境网关与沙盒环境网关进行隔离,确定沙盒环境网关的最小资源需求,并根据所述最小资源需求基于yaml文件实现沙盒环境网关服务的快速部署;发布者通过服务开放平台将已在生产环境创建的API同步到沙盒环境;当发布者进行API测试时,在沙盒环境网关创建匿名用户,使得发布者利用所述匿名角色通过修改参数值发起服务调用请求,并获取服务调用响应信息,以确定API调试结果;当调用者进行API测试时,在沙盒环境网关创建临时用户,使得调用能利用所述临时用户角色通过修改参数值发起服务调用请求,并获取服务调用响应信息,以使得调用者确定API测试结果。

【技术实现步骤摘要】
一种用于服务开放平台的API测试方法及系统
本专利技术涉及测试
,并且更具体地,涉及一种用于服务开放平台的API测试方法及系统。
技术介绍
服务开放平台致力于将人工智能、大数据分析等领域的共性技术集中高效运维运营、并以API形式对外开放共享,有效解决基础能力重复开发、研发资源浪费、耗费人力进行服务运维等问题。服务开放平台主要为API调用者、API开发者两种角色的用户提供API发布、测试、授权、下线等全生命周期管理及运营数据统计分析功能。服务开放平台的核心是API网关,API网关负责接管所有API调用的入口流量,将用户请求转发给后端的服务器。API网关同时提供鉴权认证、流量限制、权限控制、熔断、协议转换、日志及监控等功能。现有服务开放平台的API测试功能基本采用如下两种方案:1)用户可直接在平台界面输入参数或上传文件进行API调用,此过程中不进行(或进行用户无感知的)认证且不限制调用量。用户通过此方案可快速了解API功能,但由于不对用户进行身份认证,用户无法直观了解API调用时如何传入认证参数。2)应用授权后才可使用分配的认证信息在平台进行API测试。此方案需经过繁琐的API订阅、授权流程,对用户不够友好。因此,需要一种能快速简便地进行API测试的方法。
技术实现思路
本专利技术提出一种用于服务开放平台的API测试方法及系统,以解决如何快速简便地进行API测试的问题。为了解决上述问题,根据本专利技术的一个方面,提供了一种用于服务开放平台的API测试方法,所述方法包括:<br>基于Kubernetes命名空间将生产环境网关与沙盒环境网关进行隔离,确定沙盒环境网关的最小资源需求,并根据所述最小资源需求基于yaml文件实现沙盒环境网关服务的快速部署;发布者通过服务开放平台将已在生产环境创建的API同步到沙盒环境;当发布者进行API测试时,在沙盒环境网关创建匿名用户,使得发布者利用所述匿名角色通过修改参数值发起服务调用请求,通过沙盒环境网关将所述服务调用请求转发到后端服务,并获取服务调用响应信息,以使得发布者根据所述响应信息确定API调试结果;当调用者进行API测试时,在沙盒环境网关创建临时用户,为所述临时用户赋予API访问权限,使得调用能利用所述临时用户角色通过修改参数值发起服务调用请求,通过沙盒环境网关将所述服务调用请求转发到后端服务,并获取服务调用响应信息,以使得调用者根据所述响应信息确定API测试结果。优选地,其中所述确定沙盒环境网关的最小资源需求,包括:基于所述生产环境的资源使用情况、历史调用统计数据和沙盒环境服务调用的最大并发限制,确定沙盒环境网关的CPU、内存和实例个数。优选地,其中所述方法利用如下方式将已在生产环境创建的API同步到沙盒环境,包括:从数据库获取API名称、后端地址、前端访问地址和认证方式,基于相应API信息在沙盒环境网关创建API所需的target、upstream、service和route,并绑定API认证方式对应的插件和访问流量限制插件;以及在当API存在测试环境后端访问地址时,在将API同步沙盒环境时,将后端地址设置为测试环境后端地址。优选地,其中所述响应信息包括:响应码信息、响应延时信息、响应Header信息和响应body信息。优选地,其中所述方法还包括:为所述匿名用户创建对应的流量限制插件;为所述临时用户创建对应的认证插件和流量限制插件。优选地,其中所述方法还包括:设定服务请求地址对应的沙盒环境API的访问地址、参数值和认证信息并自动生成预设语言的沙盒环境服务访问sdk,同时调用者通过将服务请求地址改为生产环境API的访问地址,将认证信息改为平台授权后获取的认证信息,实现利用sdk调用生产环境API。优选地,其中所述方法还包括:沙盒环境网关通过logstash将API测试功能的访问日志导入ElasticSearch,以对访问日志实时监测,并在当峰值访问量或访问流量超过沙盒环境网关的能力时,进行告警,使得管理员能及时对沙盒环境网关进行弹性扩展实例。根据本专利技术的另一个方面,提供了一种用于服务开放平台的API测试系统,所述系统包括:沙盒环境网关搭建单元,用于基于Kubernetes命名空间将生产环境网关与沙盒环境网关进行隔离,确定沙盒环境网关的最小资源需求,并根据所述最小资源需求基于yaml文件实现沙盒环境网关服务的快速部署;API同步单元,用于使发布者通过服务开放平台将已在生产环境创建的API同步到沙盒环境;API调试单元,用于当发布者进行API测试时,在沙盒环境网关创建匿名用户,使得发布者利用所述匿名角色通过修改参数值发起服务调用请求,通过沙盒环境网关将所述服务调用请求转发到后端服务,并获取服务调用响应信息,以使得发布者根据所述响应信息确定API调试结果;API测试单元,用于当调用者进行API测试时,在沙盒环境网关创建临时用户,为所述临时用户赋予API访问权限,使得调用能利用所述临时用户角色通过修改参数值发起服务调用请求,通过沙盒环境网关将所述服务调用请求转发到后端服务,并获取服务调用响应信息,以使得调用者根据所述响应信息确定API测试结果。优选地,其中所述沙盒环境网关搭建单元,确定沙盒环境网关的最小资源需求,包括:基于所述生产环境的资源使用情况、历史调用统计数据和沙盒环境服务调用的最大并发限制,确定沙盒环境网关的CPU、内存和实例个数。优选地,其中所述API同步单元,利用如下方式将已在生产环境创建的API同步到沙盒环境,包括:从数据库获取API名称、后端地址、前端访问地址和认证方式,基于相应API信息在沙盒环境网关创建API所需的target、upstream、service和route,并绑定API认证方式对应的插件和访问流量限制插件;以及在当API存在测试环境后端访问地址时,在将API同步沙盒环境时,将后端地址设置为测试环境后端地址。优选地,其中所述响应信息包括:响应码信息、响应延时信息、响应Header信息和响应body信息。优选地,其中所述系统还包括:插件创建单元,用于为所述匿名用户创建对应的流量限制插件;用于为所述临时用户创建对应的认证插件和流量限制插件。优选地,其中所述系统还包括:沙盒环境服务sdk自动生成单元,用于设定服务请求地址对应的沙盒环境API的访问地址、参数值和认证信息并自动生成预设语言的沙盒环境服务访问sdk,同时调用者通过将服务请求地址改为生产环境API的访问地址,将认证信息改为平台授权后获取的认证信息,实现利用sdk调用生产环境API。优选地,其中所述系统还包括:访问日志处理单元,用于使沙盒环境网关通过logstash将API测试功能的访问日志导入ElasticSearch,以对访问日志实时监测,并在当峰值访问量或访问流量超过沙盒环境网关的能力时,进行告警,使得管理员能及时对沙盒环境网关进行本文档来自技高网...

【技术保护点】
1.一种用于服务开放平台的API测试方法,其特征在于,所述方法包括:/n基于Kubernetes命名空间将生产环境网关与沙盒环境网关进行隔离,确定沙盒环境网关的最小资源需求,并根据所述最小资源需求基于yaml文件实现沙盒环境网关服务的快速部署;/n发布者通过服务开放平台将已在生产环境创建的API同步到沙盒环境;/n当发布者进行API测试时,在沙盒环境网关创建匿名用户,使得发布者利用所述匿名角色通过修改参数值发起服务调用请求,通过沙盒环境网关将所述服务调用请求转发到后端服务,并获取服务调用响应信息,以使得发布者根据所述响应信息确定API调试结果;/n当调用者进行API测试时,在沙盒环境网关创建临时用户,为所述临时用户赋予API访问权限,使得调用能利用所述临时用户角色通过修改参数值发起服务调用请求,通过沙盒环境网关将所述服务调用请求转发到后端服务,并获取服务调用响应信息,以使得调用者根据所述响应信息确定API测试结果。/n

【技术特征摘要】
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测试系统,其特征在于,所述系统包括:
沙盒环境网关搭...

【专利技术属性】
技术研发人员:白雪珂袁自强舒南飞林文辉李瑞祥
申请(专利权)人:航天信息股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1