CN112416762B - Api测试方法及装置、设备、计算机可读存储介质 - Google Patents

Api测试方法及装置、设备、计算机可读存储介质 Download PDF

Info

Publication number
CN112416762B
CN112416762B CN202011276265.6A CN202011276265A CN112416762B CN 112416762 B CN112416762 B CN 112416762B CN 202011276265 A CN202011276265 A CN 202011276265A CN 112416762 B CN112416762 B CN 112416762B
Authority
CN
China
Prior art keywords
api
banking
banking system
document information
rpa
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011276265.6A
Other languages
English (en)
Other versions
CN112416762A (zh
Inventor
罗锡飞
季玉瑶
谭力文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Citic Bank Corp Ltd
Original Assignee
China Citic Bank Corp Ltd
Filing date
Publication date
Application filed by China Citic Bank Corp Ltd filed Critical China Citic Bank Corp Ltd
Priority to CN202011276265.6A priority Critical patent/CN112416762B/zh
Publication of CN112416762A publication Critical patent/CN112416762A/zh
Application granted granted Critical
Publication of CN112416762B publication Critical patent/CN112416762B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

公开了一种API测试方法及装置、电子设备、计算机可读存储介质。本申请一实施例中,API测试方法包括:监控银行系统与其交互方之间的API的变化;在API发生变化时,通知所述银行系统修改所述API;在修改所述API之后,启动机器人流程自动化RPA程序,由所述RPA程序完成测试工具的配置操作并调用所述测试工具针对所述API进行测试。本申请实施例能够实时监控银行系统相关API的变更情况并针对发生更改的API进行自动化接口测试,不仅可以节省时间,而且可以有效提高API的测试效率。

Description

API测试方法及装置、设备、计算机可读存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种应用程序接口(API,ApplicationProgramming Interface)测试方法及装置、电子设备、计算机可读存储介质。
背景技术
针对API进行调用测试,但是在实际工作中,由于跨境电商业务的快速发展,跨境电商平台与银行之间相互调用的接口更新频繁,接口变更或增加后,现有API测试无法做到实时监控并及时通知相关各方,每次接口更改都需手动进行接口测试,自动化程度低,浪费大量的人力物力。
发明内容
为解决上述技术问题,期望提供一种新的API测试方案。
根据本申请的一个方面,提供了一种API测试方法,包括:
监控联机交易关联系统之间的API的变化;
在API发生变化时,通知所述联机交易关联系统中的银行系统修改所述API;
在修改所述API之后,启动机器人流程自动化RPA程序,由所述RPA程序完成测试工具的配置操作并调用所述测试工具针对所述API进行测试。
一些示例中,所述联机交易关联系统包括银行外界系统和银行系统;所述监控联机交易关联系统之间的API的变化,包括:向所述银行外界系统获取所述银行系统相关的API文档信息,并基于所述API文档信息监控API的变化。
一些示例中,向所述银行外界系统获取所述银行系统相关的API文档信息,包括:定时向预定网站爬取银行系统相关的API文档信息。
一些示例中,基于所述API文档信息监控API的变化,包括:通过将所述API文档信息中解析出的字段与所述银行系统中已有的相应字段进行比较来确定所述API是否发生了变化。
一些示例中,在API发生变化时,通知所述联机交易关联系统中的银行系统修改所述API,包括:在API发生变化时,向所述银行系统发送携带错误信息的预警消息,以便所述银行系统在接收到所述预警消息之后根据所述错误信息来修改所述API。
根据本申请的一个方面,提供了一种API测试装置,包括:
监控模块,配置为监控联机交易关联系统之间的API的变化,在API发生变化时通知所述联机交易关联系统中的银行系统修改所述API;
启动模块,配置为在修改所述API之后,启动机器人流程自动化RPA程序;
RPA模块,配置为运行所述RPA程序以完成测试工具的配置操作并调用测试工具;
测试工具模块,配置为在所述RPA模块的配置操作和调用之下完成所述API的测试。
一些示例中,所述联机交易关联系统包括银行外界系统和银行系统;所述监控模块,是配置为向所述银行外界系统获取所述银行系统相关的API文档信息,并基于所述API文档信息监控API的变化。
一些示例中,所述监控模块配置为基于所述API文档信息监控API的变化,包括:通过将所述API文档信息中解析出的字段与所述银行系统中已有的相应字段进行比较来确定所述API是否发生了变化。
根据本申请的一个方面,提供了一种电子设备,包括:
一个或多个处理器;以及
存储器,存储有计算机程序,所述计算机程序在被所述处理器运行时使所述处理器执行根据上述的API测试方法。
根据本申请的一个方面,提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序在被处理器运行时使得所述处理器执行如上述的API测试方法。
本申请实施例能够实时监控银行系统相关API的变更情况,并使用RPA来针对发生更改的API进行自动化接口测试,不仅可以节省时间,而且可以有效提高API的测试效率。
附图说明
图1为本申请实施例API测试方法的流程示意图。
图2为本申请实施例API测试方法的示例性具体实现流程示意图。
图3为本申请实施例API测试装置及其与其他系统之间交互的示意图。
图4为本申请实施例电子设备的结构示意图。
具体实施方式
下文将结合附图对本申请实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的各个实施例及其中的各特征可以相互任意组合。
图1示出了本申请实施例中API测试的示例性方法的流程图。如图1所示,本申请实施例中API测试的示例性方法可以包括步骤S110~步骤S130。本申请实施例的API测试方法可以实时监控到联机交易关联系统之间API的变更情况,及时发送通知给银行系统来及时完成API的修改,并使用机器人流程自动化(RPA,Robotic process automation)来模拟人工设置测试场景,对更改的接口进行自动化接口测试,从而节省时间,提高API测试效率。
步骤S110中,监控联机交易关联系统之间的API的变化。
本申请实施例中,联机交易双方系统可以包括存联机交易的两个银行内部系统,也可以是联机交易的银行外界系统和银行系统。例如,联机交易双方系统可以包括联机交易的跨境电商平台与银行系统。
一些实施例中,本步骤中可以包括:步骤a1,向银行外界系统获取银行系统相关的API文档信息;步骤a2,基于所述API文档信息监控API的变化。
一些实现方式中,步骤a1中向银行外界系统获取银行系统相关的API文档信息可以包括:定时向预定网站爬取银行系统相关的API文档信息。具体地,本步骤中,可以通过定时爬虫系统是采用scrapy框架定时抓取预定的网页。例如,可以通过访问网站的url,根据所对应的元素、或者二级、三级页面进行抓取,最终获取所需的API文档信息。
一些实施例方式中,步骤a2中基于API文档信息监控API的变化可以包括:通过将所述API文档信息中解析出的字段与所述银行系统中已有的相应字段进行比较来确定所述API是否发生了变化。
上述实现方式中,步骤a2可以包括:步骤a21,解析所述API文档信息以获得至少一个字段;步骤a22,将所述解析获得的至少一个字段与所述银行系统已有的相应上送字段逐一进行比较;步骤a23,在所述比较的结果为任一字段不一致时,确定所述API发生了变化。步骤a24,在所述比较的结果为所有字段均一致时,确定所述API未发生变化。具体地,该至少一个字段可以包括但不限于API的名称、类型、长度等。
步骤S120中,在API发生变化时,通知所述联机交易关联系统中的银行系统修改所述API。
一些实现方式中,本步骤可以包括:在API发生变化时,向银行系统发送携带错误信息的预警消息,以便银行系统在接收到所述预警消息之后根据错误信息来修改API。同时,还可以将从API文档信息中解析出的至少一个字段发送给银行系统。具体地,如果某个或某些API发生变化,可以启动预警装置,发送携带错误信息的预警短信给银行系统,银行系统接收到该预警短信之后修改相应的API。这里,银行系统可以根据错误信息来修改API。例如,错误信息指示API的类型发生了变化,那么银行系统可以根据从API文档信息中解析中的类型字段来修改API的类型。其他修改与此同理,不再赘述。
步骤S130中,在修改API之后,启动RPA程序,由所述RPA程序完成测试工具的配置操作并调用所述测试工具针对所述API进行测试。
实际应用中,RPA程序主要模仿人类操作应用程序的用户界面,并配置为以相同的方式执行步骤。简而言之,RPA程序是一个虚拟的工作者,RPA程序可以在几分钟内完成人工几十分钟才能完成的基础配置工作,可以帮助工作人员完成大量重复规则化的测试工具的配置工作,从而能够大大提升API接口的测试效率。
一些实现方式中,步骤S130中,启动RPA程序之后,RPA程序可以模仿人类操作应用程序的用户界面,并配置为相同的方式执行测试用例,从而调用相应的测试工具完成相应API的自动化测试。这里,相同的方式是指每次回归测试需要执行的测试场景。
本申请实施例的测试工具可以包括但不限于Admitester工具、Postman接口测试工具、Jmeter接口测试工具。其中,Admitester工具可以根据接口输入输出报文模拟相关产品进行接口调用,复用各种场景,实现自动化重复执行。Postman接口测试工具进行测试时,将json格式的接口测试数据导成json文件并传输到postman解析模块,并调度执行模块根据测试用例执行接口请求及断言处理。而使用Jmeter接口测试工具时,则首先在Jmeter测试工具中设置并发量、端口号、IP地址及循环数等参数,然后运行Jmeter测试工具即可得测试结果。实际应用中,可以根据实际应用场景的需求来选择合适的测试工具。
一些实施例中,在步骤S130中,启动RPA之后,RPA还可以根据当前要测试的API的类型、功能等的不同来调用相应的测试工具来自动完成该API的测试。例如,可以预先配置API属性信息与测试工具之间的映射关系,步骤S130中针对某一或某些API进行测试时,可以基于该API的属性信息和该映射关系查找到相对应的测试工具,RPA完成该测试工具相关的人工配置操作并自动调用测试工具来完成API的测试。
一些实施例中,本申请实施例中所述的API可以为银行系统与其外部系统之间的API。例如,可以是银行系统与电商跨境平台之间交互的API。一些实施例中,本申请实施例中所述的API可以为银行内部系统之间的API。例如,该API可以是银行提供给其他客户使用的客户端与银行后台服务器之间的API。
本申请实施例不仅适用于监控与银行合作的跨境电商平台,同时可以提供给银行内各个软件系统之间的联调测试,增进银行内部系统之间的便捷性和灵活性。可以理解,本申请实施例不限于银行相关的软件系统,更可应用于其他领域的软件系统中。
由上可见,本申请实施例能够解决联机交易过程中,在银行系统与银行外界系统、银行内部系统之间交互过程中交互不好、灵活性差的问题。通过实时检测联机交易关联系统的变化,整合各API,免去四处搜索的烦恼,形成统一的API规范,从而将更多精力放在调试测试的工作上,降低学习成本。同时可以及时预警联机交易关联系统的API变化,使银行系统在交互过程中不处于被动,减少不必要的损失,提高了结算效率。并且,使用RPA自主模拟人工,启动测试工具进行场景测试,相较于一般的测试工具,更具灵活性,自动化程度更高,节省了人力成本和时间成本。换言之,本申请实施例能够实时监控银行系统相关API的变更情况,并针对发生更改的API进行自动化接口测试,不仅可以节省时间,而且可以有效提高API的测试效率。
下面以跨境电商网站与银行系统之间的联机交易为例来详细说明本申请实施例中API测试方法的示例性具体实现过程。
如图2所示,以跨境电商网站与银行系统之间的联机交易为例,API测试的示例性具体实现流程可以包括如下步骤:
步骤S201,定时去各大跨境电商网站爬取银行系统所需的API文档信息。
步骤S202,解析API文档信息,利用解析器解析出与银行所需的上送字段。
步骤S203,将解析出的字段与银行现有的上送字段进行逐一比较以确定API是否有变化。
本步骤中,比较范围包括:字段名称、类型、长度等。如果解析出的任一字段与银行系统现有的相应上送字段不一致则确认API发生了变化;若API文档信息中解析的所有字段与银行系统现有的相应上送字段均已知,则确认API没有变化。
步骤S204,如果API发生变化,启动预警装置,发送携带错误信息的预警短信给银行系统,
步骤S205,银行系统接收到该预警短信并修改相应的API。
步骤S206,银行系统修改API后,启动RPA程序,调用测试工具针对修改后的API进行自动化测试。
步骤S206,如果API没有变化,则返回步骤S201,重新开始。
步骤S207,确认测试是否报错,若测试报错,则再次启动预警装置,发送预警短信给银行系统,并返回步骤S205,重新进行API测试。若测试正常,可以返回步骤S201,重新开始。
本申请实施例还提供了一种API测试装置,如图3所示,该API测试装置可以包括:
监控模块31,配置为监控联机交易关联系统之间的API的变化,在API发生变化时通知所述联机交易关联系统中的银行系统修改所述API;
启动模块32,配置为在修改所述API之后,启动机器人流程自动化RPA程序;
RPA模块33,配置为运行所述RPA程序以完成测试工具的配置操作并调用测试工具;
测试工具模块34,配置为在RPA模块33的配置操作和调用之下完成所述API的测试。
一些示例中,所述联机交易关联系统包括银行外界系统和银行系统。监控模块31可以是配置为向银行外界系统获取所述银行系统相关的API文档信息,并基于所述API文档信息监控API的变化。一些示例中,监控模块31配置为基于所述API文档信息监控API的变化,可以包括:通过将所述API文档信息中解析出的字段与所述银行系统中已有的相应字段进行比较来确定所述API是否发生了变化。
本申请实施例中API测试装置的其他技术细节可以参照上文API测试方法的相关描述,不再赘述。
本申请实施例还提供了一种电子设备40。如图4所示,该电子设备可以包括一个或多个处理器41和存储器42。
处理器41可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。
存储器42可以包括一个或多个计算机程序,所述计算机程序可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序,处理器41可以运行所述程序指令,以实现上文所述的各个实施例的API测试方法以及/或者其他期望的功能。
除此之外,根据具体应用情况,电子设备40还可以包括诸如总线、输入/输出接口等等的任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的API测试方法的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的API测试方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (4)

1.一种应用程序接口API测试方法,包括:
监控联机交易关联系统之间的API的变化,所述联机交易关联系统包括银行外界系统和银行系统,包括:向所述银行外界系统获取所述银行系统相关的API文档信息,并基于所述API文档信息监控API的变化;
所述向所述银行外界系统获取所述银行系统相关的API文档信息,包括:定时向预定网站爬取银行系统相关的API文档信息;
所述基于所述API文档信息监控API的变化,包括:通过将所述API文档信息中解析出的字段与所述银行系统中已有的相应字段进行比较来确定所述API是否发生了变化;
在API发生变化时,通知所述联机交易关联系统中的银行系统修改所述API,包括:在API发生变化时,向所述银行系统发送携带错误信息的预警消息,以便所述银行系统在接收到所述预警消息之后根据所述错误信息来修改所述API;
在修改所述API之后,启动机器人流程自动化RPA程序,由所述RPA程序完成测试工具的配置操作并调用所述测试工具针对所述API进行测试。
2.一种应用程序接口API测试装置,包括:
监控模块,配置为监控联机交易关联系统之间的API的变化,所述联机交易关联系统包括银行外界系统和银行系统,在API发生变化时通知所述联机交易关联系统中的银行系统修改所述API;
所述监控联机交易关联系统之间的API的变化,包括:向所述银行外界系统获取所述银行系统相关的API文档信息,并基于所述API文档信息监控API的变化;
所述向所述银行外界系统获取所述银行系统相关的API文档信息,包括:定时向预定网站爬取银行系统相关的API文档信息;
所述基于所述API文档信息监控API的变化,包括:通过将所述API文档信息中解析出的字段与所述银行系统中已有的相应字段进行比较来确定所述API是否发生了变化;
所述在API发生变化时,通知所述联机交易关联系统中的银行系统修改所述API,包括:在API发生变化时,向所述银行系统发送携带错误信息的预警消息,以便所述银行系统在接收到所述预警消息之后根据所述错误信息来修改所述API;
启动模块,配置为在修改所述API之后,启动机器人流程自动化RPA程序;
RPA模块,配置为运行所述RPA程序以完成测试工具的配置操作并调用测试工具;
测试工具模块,配置为在所述RPA模块的配置操作和调用之下完成所述API的测试。
3.一种电子设备,包括:
一个或多个处理器;以及
存储器,存储有计算机程序,所述计算机程序在被所述处理器运行时使所述处理器执行根据权利要求1所述的API测试方法。
4.一种计算机存储介质,其上存储有计算机程序,所述计算机程序在被处理器运行时使得所述处理器执行如权利要求1所述的API测试方法。
CN202011276265.6A 2020-11-16 Api测试方法及装置、设备、计算机可读存储介质 Active CN112416762B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011276265.6A CN112416762B (zh) 2020-11-16 Api测试方法及装置、设备、计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011276265.6A CN112416762B (zh) 2020-11-16 Api测试方法及装置、设备、计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN112416762A CN112416762A (zh) 2021-02-26
CN112416762B true CN112416762B (zh) 2024-05-31

Family

ID=

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6912687B1 (en) * 2000-05-11 2005-06-28 Lsi Logic Corporation Disk array storage subsystem with parity assist circuit that uses scatter-gather list
CN109032947A (zh) * 2018-07-27 2018-12-18 广州视源电子科技股份有限公司 用于操作系统的测试方法、装置、设备和存储介质
CN111488285A (zh) * 2020-04-15 2020-08-04 北京字节跳动网络技术有限公司 接口测试方法、装置、电子设备及计算机可读存储介质
CN111667163A (zh) * 2020-05-28 2020-09-15 广东电网有限责任公司东莞供电局 基于rpa技术的故障监控方法、rpa机器人及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6912687B1 (en) * 2000-05-11 2005-06-28 Lsi Logic Corporation Disk array storage subsystem with parity assist circuit that uses scatter-gather list
CN109032947A (zh) * 2018-07-27 2018-12-18 广州视源电子科技股份有限公司 用于操作系统的测试方法、装置、设备和存储介质
CN111488285A (zh) * 2020-04-15 2020-08-04 北京字节跳动网络技术有限公司 接口测试方法、装置、电子设备及计算机可读存储介质
CN111667163A (zh) * 2020-05-28 2020-09-15 广东电网有限责任公司东莞供电局 基于rpa技术的故障监控方法、rpa机器人及存储介质

Similar Documents

Publication Publication Date Title
CN109302522B (zh) 测试方法、装置以及计算机系统和介质
CN109933522B (zh) 一种自动化用例的测试方法、测试系统及存储介质
CN110908641B (zh) 基于可视化的流计算平台、方法、设备和存储介质
US20160274997A1 (en) End user monitoring to automate issue tracking
CN111026645A (zh) 用户界面自动化测试方法、装置、存储介质及电子设备
CN108038039B (zh) 记录日志的方法及微服务系统
CN110784374A (zh) 业务系统运行状态的监控方法、装置、设备和系统
US7783927B2 (en) Intelligent processing tools
CN112650676A (zh) 软件测试方法、装置、设备及存储介质
CN111930589A (zh) 流式任务自动化监控系统及方法
CN111475412B (zh) 软件测试方法、装置、电子设备和计算机可读存储介质
CN109344046A (zh) 一种数据处理方法、装置、介质及电子设备
KR101689984B1 (ko) 프로그래머블 컨트롤러, 프로그래머블 컨트롤러 시스템 및 실행 에러 정보 작성 방법
JP6238221B2 (ja) ソフトウェアの実行を監視する装置、方法およびプログラム
CN111309743A (zh) 报表推送方法及装置
CN111930561B (zh) 流式任务自动化监控告警重启系统及方法
CN108241543B (zh) 业务操作断点执行的方法、业务服务器及系统
CN112416762B (zh) Api测试方法及装置、设备、计算机可读存储介质
CN114385457A (zh) 应用程序数据采集方法、装置、设备及存储介质
CN112416762A (zh) Api测试方法及装置、设备、计算机可读存储介质
US20160275002A1 (en) Image capture in application lifecycle management for documentation and support
CN109669867B (zh) 测试装置、自动化测试方法和计算机可读存储介质
CN110601890B (zh) 一种网络性能分析方法、装置、设备及可读存储介质
CN117950635A (zh) 平台的应用开发方法、装置、电子设备及存储介质
CN116521513A (zh) 一种安卓设备的测试管理方法、装置及设备

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant