CN114253788A - 接口验证方法、装置、存储介质及电子设备 - Google Patents
接口验证方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN114253788A CN114253788A CN202111295992.1A CN202111295992A CN114253788A CN 114253788 A CN114253788 A CN 114253788A CN 202111295992 A CN202111295992 A CN 202111295992A CN 114253788 A CN114253788 A CN 114253788A
- Authority
- CN
- China
- Prior art keywords
- interface
- verified
- verification
- current
- dependent
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种接口验证方法、装置、存储介质及电子设备,涉及接口验证技术领域,所述方法包括:判断当前待验证接口是否具有依赖接口;当当前待验证接口具有依赖接口时,查询当前待验证接口的所有依赖接口的验证结果;其中,当前待验证接口的依赖接口先于当前待验证接口验证;当当前待验证接口的所有依赖接口的验证结果均为验证成功时,对当前待验证接口进行验证;当当前待验证接口的依赖接口的验证结果中出现验证失败时,获得当前待验证接口的验证结果为验证失败。本发明提供的技术方案,能够简单、快速地对待验证接口进行自动验证,从而满足对大量接口的验证需求。
Description
技术领域
本发明涉及接口验证技术领域,特别地涉及一种接口验证方法、装置、存储介质及电子设备。
背景技术
在对S3存储服务接口接口进行可用性验证时,现有技术只能按顺序对每个接口进行逐一验证。显然,这种验证方式操作复杂、花费时间长,无法满足目前对大量接口的验证需求。
发明内容
针对上述现有技术中的问题,本申请提出了一种接口验证方法、装置、存储介质及电子设备,能够简单、快速地对待验证接口进行自动验证,从而满足对大量接口的验证需求。
为达到上述目的,本发明的技术方案是这样实现的:
第一方面,本发明实施例提供了一种接口验证方法,所述方法包括:
基于预设接口验证顺序执行以下操作,以获得所有待验证接口的验证结果:
判断当前待验证接口是否具有依赖接口;
当所述当前待验证接口具有依赖接口时,查询所述当前待验证接口的所有依赖接口的验证结果;其中,所述当前待验证接口的依赖接口先于所述当前待验证接口验证;
当所述当前待验证接口的所有依赖接口的验证结果均为验证成功时,对所述当前待验证接口进行验证,获得所述当前待验证接口的验证结果;
当所述当前待验证接口的依赖接口的验证结果中出现验证失败时,获得所述当前待验证接口的验证结果为验证失败。
进一步地,所述基于预设接口验证顺序执行以下操作,以获得所有待验证接口的验证结果,还包括:
当所述当前待验证接口没有依赖接口时,对所述当前待验证接口进行验证,获得所述当前待验证接口的验证结果。
优选地,所述判断当前待验证接口是否具有依赖接口,包括:
基于预先确定的接口依赖关系判断当前待验证接口是否具有依赖接口。
优选地,所述所有待验证接口均为S3接口,所述接口依赖关系采用以下方式预先确定:
对于所述所有待验证接口中的每个接口,执行以下操作:
获取该接口的功能和该接口在S3存储协议逻辑中所处的位置;
基于该接口的功能和该接口在S3存储协议逻辑中所处的位置,确定该接口的等级;
基于所述每个接口的所述等级,确定所述接口依赖关系。
优选地,所述接口依赖关系存储于预先建立的状态机中;所述状态机用于实时反映当前待验证接口的所有依赖接口的验证结果;所述当所述当前待验证接口具有依赖接口时,查询所述当前待验证接口的所有依赖接口的验证结果,包括:
当所述当前待验证接口具有依赖接口时,通过所述状态机查询所述当前待验证接口的所有依赖接口的验证结果。
优选地,所述当所述当前待验证接口的所有依赖接口的验证结果均为验证成功时,对所述当前待验证接口进行验证,获得所述当前待验证接口的验证结果,包括:
当所述当前待验证接口的所有依赖接口的验证结果均为验证成功时,调用预先建立的实现类对所述当前待验证接口进行验证,获得所述当前待验证接口的验证结果;其中,所述实现类在运行时能够判断所述当前待验证接口在当前软件环境下是否可用。
优选地,所述当所述当前待验证接口的所有依赖接口的验证结果均为验证成功时,调用预先建立的实现类对所述当前待验证接口进行验证,获得所述当前待验证接口的验证结果,包括:
当所述当前待验证接口的所有依赖接口的验证结果均为验证成功时,通过预先创建的多个调用对象调用所述实现类对所述当前待验证接口进行验证,获得针对每个所述调用对象的所述当前待验证接口的验证结果;其中,不同的所述调用对象所处的所述当前软件环境不同。
进一步地,所述方法还包括:
生成验证报告;其中,所述验证报告用于记录以下项目中的至少一项:已验证接口的验证结果、验证通过率、验证失败原因。
第二方面,本发明实施例提供了一种接口验证装置,所述装置包括:
验证执行单元,用于基于预设接口验证顺序执行以下操作,以获得所有待验证接口的验证结果:
判断当前待验证接口是否具有依赖接口;
当所述当前待验证接口具有依赖接口时,查询所述当前待验证接口的所有依赖接口的验证结果;其中,所述当前待验证接口的依赖接口先于所述当前待验证接口验证;
当所述当前待验证接口的所有依赖接口的验证结果均为验证成功时,对所述当前待验证接口进行验证,获得所述当前待验证接口的验证结果;
当所述当前待验证接口的依赖接口的验证结果中出现验证失败时,获得所述当前待验证接口的验证结果为验证失败。
第三方面,本发明实施例提供了一种存储介质,所述存储介质上存储有程序代码,所述程序代码被处理器执行时,实现如上述第一方面所述的实施例中任一项所述的接口验证方法。
第四方面,本发明实施例提供了一种电子设备,所述电子设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的程序代码,所述程序代码被所述处理器执行时,实现如上述第一方面所述的实施例中任一项所述的接口验证方法。
本发明实施例提供的一种接口验证方法、装置、存储介质及电子设备,首先判断当前待验证接口是否具有依赖接口,当当前待验证接口具有依赖接口时,再查询当前待验证接口的所有依赖接口的验证结果,当当前待验证接口的所有依赖接口的验证结果均为验证成功时,对当前待验证接口进行验证,当当前待验证接口的依赖接口的验证结果中出现验证失败时,获得当前待验证接口的验证结果为验证失败。可见,本发明实施例提供的技术方案,能够基于当前待验证接口的依赖接口的验证结果来确定是否对当前待验证接口进行验证,当当前待验证接口的依赖接口的验证结果中出现验证失败时,直接将当前待验证接口视为验证失败,而不需要再对其进行验证;只有当当前待验证接口的所有依赖接口的验证结果均为验证成功时,才对当前待验证接口进行验证,如此,大大简化了验证过程、缩短了验证时间。因此,本发明实施例提供的技术方案,能够简单、快速地对待验证接口进行自动验证,从而满足对大量接口的验证需求。
附图说明
通过结合附图阅读下文示例性实施例的详细描述可更好地理解本发明公开的范围。其中所包括的附图是:
图1为本发明实施例的方法流程图;
图2为本发明实施例所述方法的结构图;
图3为本发明实施例中实现类的细化流程图;
图4为本发明实施例中状态机的细化流程图;
图5为本发明实施例的装置结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,以下将结合附图及实施例来详细说明本发明的实施方法,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
本发明实施例具体应用于对S3(Simple Storage Service,简单存储服务)接口的验证中。本领域技术人员可以理解,其它与S3接口类似的接口也均可以采用本发明实施例所提供的方法来验证。
S3理论上是一个全球存储区域网络,它表现为一个超大的硬盘,可以在其中存储和检索数字资产。但是,从技术上讲,Amazon的架构有一些不同。通过S3存储和检索的资产被称为对象。对象存储在存储段(bucket)中。我们可以用硬盘进行类比:对象就像是文件,存储段就像是文件夹(或目录)。与硬盘一样,对象和存储段也可以通过统一资源标识符(Uniform Resource Identifier,URI)查找。
S3的通讯协议采用HTTP协议,其功能均通过HTTP协议实现。从功能上来讲,主要分为以下4类:
第一类:基础操作类,是最为常用的接口功能,主要包含桶和对象的上传,下载,列举,删除,复制,版本控制等。
应用程序主要通过调用该类接口实现对存储对象和桶的基本管理,能将存储对象像在对本地文件进行管理一样,可以通过该类型的基本操作进行分类整理,版本控制等。
第二类:权限控制类,该类接口实现了对用户,桶,存储对象的权限控制。主要包含用户访问凭证管理,公共访问权限管理,桶权限管理,桶权限验证,存储对象权限管理,存储对象权限验证等。
应用程序主要通过调用该类接口实现对用户的访问权限控制。细化了哪些用户对哪些桶或对象有哪些权限。根据业务类型的不同,控制用户所能看见和使用的内容也不尽相同。
第三类:生命周期控制类,该类接口实现了对文件生命周期的控制,即对存储对象从上传到自动销毁的整个过程。
应用程序通过控制存储对象的生命周期,间接的实现了对存储空间的高效利用。减少了人工操作的成本和风险,实现了存储对象到期自动销毁等功能。
第三类:其他操作,该类接口包含链接分享,种子文件生成,存储对象迁移,日志调取等。该类接口丰富了S3存储协议功能,使S3的使用场景更加丰富。
由此可见,S3存储协议支持的功能复杂,接口数量多。现有的验证手段只能单独的逐一对某个S3存储服务接口进行验证,缺少依附于逻辑的验证手段。不能够智能的判断上下游关系,执行验证过程中,重复操作所导致的请求次数过多,过程冗余严重,花费时间长,得到的结果不够准确,而仅能简单地得到成功或失败的结果,不能对失败原因进行判定。而本发明就是要提供一种接口验证方法,以在我们实现或使用S3存储协议时,能够简单、快速、准确地检测出当前使用环境对S3存储协议具体的支持程度,即检测出在当前的软件使用环境下,S3接口中哪些接口可以用,哪些接口不可以用。
实施例一
根据本发明的实施例,提供了一种接口验证方法,本实施例所述的方法包括:
如图1所示,基于预设接口验证顺序执行以下操作,以获得所有待验证接口的验证结果:
步骤S101,判断当前待验证接口是否具有依赖接口;
本实施例中,待验证接口有多个,按照上述预设接口验证顺序逐一进行验证。其中,接口验证顺序可基于已有的接口列表中所存储的接口排列顺序来确定,或者,也可根据实际情况预先设置其它的接口验证顺序,此处不作具体限制。
本实施例中,所述判断当前待验证接口是否具有依赖接口,包括:基于预先确定的接口依赖关系判断当前待验证接口是否具有依赖接口。
本实施例中,所有待验证接口均为S3接口,所述接口依赖关系采用以下方式预先确定:首先,对于所述所有待验证接口中的每个接口,执行以下操作:获取该接口的功能和该接口在S3存储协议逻辑中所处的位置;基于该接口的功能和该接口在S3存储协议逻辑中所处的位置,确定该接口的等级;然后,基于所述每个接口的所述等级,确定所述接口依赖关系。
具体地,在对所有待验证接口进行验证前,需要把每个待验证接口进行等级划分,然后基于每个待验证接口的等级,确定各接口之间的依赖关系。其中,接口的等级越低,其功能的重要程度越高,一般基础操作类接口的等级最低,其需要被其它等级高的接口所依赖,在进行验证时,最先验证等级低的接口。某一接口等级的确定除需考虑其具体功能外,还需考虑该接口在S3存储协议逻辑中所处的位置,即通过该接口的功能和该接口在S3存储协议逻辑中所处的位置共同确定该接口的等级,上述接口依赖关系具体为:等级高的接口依赖于等级低的接口。在验证过程中,优先执行低等级接口的验证。
本实施例中,利用上述接口等级和接口依赖关系限定以下规则:等级相同的接口如果验证失败,那么同等级的其他接口不受影响;如果低于当前等级的接口验证失败,则查询状态机,以确定该接口是否需要验证。
本实施例中,当所述当前待验证接口没有依赖接口时,对所述当前待验证接口进行验证,获得所述当前待验证接口的验证结果。
其中,当前待验证接口没有依赖接口,说明当前待验证接口为等级最低的接口,在验证时需要最先执行,所获得的验证结果作为其它高等级接口在执行验证之前的判断依据。
步骤S102,当所述当前待验证接口具有依赖接口时,查询所述当前待验证接口的所有依赖接口的验证结果;其中,所述当前待验证接口的依赖接口先于所述当前待验证接口验证;
为了快速、准确地查询当前每个接口的状态和验证结果,本实施例采用了采用了状态机,如图2所示,上述接口依赖关系存储于该预先建立的状态机中。其中,该状态机用于实时反映当前待验证接口的所有依赖接口的验证结果,该状态机还用于实时反映当前所有接口的验证状态。则,上述当所述当前待验证接口具有依赖接口时,查询所述当前待验证接口的所有依赖接口的验证结果,具体包括:当所述当前待验证接口具有依赖接口时,通过所述状态机查询所述当前待验证接口的所有依赖接口的验证结果。
本实施例中,所有待验证接口的验证状态包括:已验证和未验证,在“已验证”的验证状态中包括两种验证结果:验证成功和验证失败,而其中的“验证失败”又包括该接口本身验证失败,以及,该接口所依赖的接口验证失败而造成的该接口的“依赖失败”,因此,基于上述各种情况,所有待验证接口在上述状态机中的实时状态可分为4种:未验证、验证成功、验证失败和依赖失败。
其中,“验证失败”指的是对该接口本身进行了验证,而并未通过验证的情况;“依赖失败”指的是该接口的某个或某些依赖接口的验证结果为“验证失败”或“依赖失败”,使得该接口不再需要被验证,而直接将该接口的状态更新为“依赖失败”的情况。
由于通过上述预设接口验证顺序和接口依赖关系已经确认了接口验证的执行顺序,且保证了被依赖的接口优先执行,那么,状态机就在此基础上,对整个接口验证流程进行控制。
具体地,状态机在验证过程中执行以下操作:
(1)将所有待验证接口状态初始化为“未验证”状态;
(2)将所有接口所依赖的其它接口在状态机中做关系绑定;
(3)每次执行接口验证前,先查询该接口所依赖的其它接口的状态:如果该接口的所有依赖接口的状态为“验证成功”,则执行该接口的验证,并将验证结果返回给状态机;如果该接口的依赖接口中有处于“验证失败”或“依赖失败”状态的接口,则不对该接口进行验证,直接返回“依赖失败”的状态给状态机,即将该接口的状态直接更新为“依赖失败”。
在开始进行验证时,状态机会读取使用者设定好的所有接口列表,并将每个接口的状态设定为未执行状态。任务开始后,对当前待验证接口进行验证前,都会在状态机中查询当前待验证接口的所有依赖接口的状态,并按照查询到的状态执行上述第(3)点的操作。执行完成后,把执行接口的验证结果回写到状态机中。当所有接口验证完成后,调用所有验证结果,生成验证报告。
通过对状态机的利用,能够方便、快速、准确地查询到所有待验证接口的当前状态以及验证结果,同时能够将验证结果细化,区分验证失败的原因,为后续的操作提供了参考。
步骤S103,当所述当前待验证接口的所有依赖接口的验证结果均为验证成功时,对所述当前待验证接口进行验证,获得所述当前待验证接口的验证结果;
本实施例中,所述当所述当前待验证接口的所有依赖接口的验证结果均为验证成功时,对所述当前待验证接口进行验证,获得所述当前待验证接口的验证结果,包括:当所述当前待验证接口的所有依赖接口的验证结果均为验证成功时,调用预先建立的实现类对所述当前待验证接口进行验证,获得所述当前待验证接口的验证结果;其中,所述实现类在运行时能够判断所述当前待验证接口在当前软件环境下是否可用。
具体地,如图2所示,每个实现类可以验证一种接口功能,即判断某一接口在当前软件环境下是否可用,当该接口在当前软件环境下可用时,验证成功;当该接口在当前软件环境下不可用时,验证失败。预先编写好多个实现类,以区分不同种类的接口功能,所有接口根据实现功能的不同区分为若干组,每个组单独进行验证。利用该方法将组与组之间进行隔离,保证当前功能验证失败后不会对其他接口组产生影响,保证了整体验证结论的准确性。
为了更加方便、快速地验证接口在不同使用环境下的可用性,本实施例中,所述当所述当前待验证接口的所有依赖接口的验证结果均为验证成功时,调用预先建立的实现类对所述当前待验证接口进行验证,获得所述当前待验证接口的验证结果,包括:当所述当前待验证接口的所有依赖接口的验证结果均为验证成功时,通过预先创建的多个调用对象调用所述实现类对所述当前待验证接口进行验证,获得针对每个所述调用对象的所述当前待验证接口的验证结果;其中,不同的所述调用对象所处的所述当前软件环境不同。
如图2所示,上述每一个调用对象可以理解为一个账号或一个节点,通过多个调用对象同时调用实现类对接口进行验证,能够更加方便、快速地验证某一接口在不同使用环境下的可用性。
具体地,利用内置框架,在初始化的过程中,根据S3存储协议中支持的功能,预先定义多个调用对象,供多节点、多账户场景调用。如果调用对象需要进行像权限验证、跨域分享、存储对象复制等接口功能的验证,可以直接调用预先定义好的多个实现类直接验证,相较于现有技术,能够减少代码量及工作量以及出错的几率。
上述调用对象基于配置文件来创建,其中,该配置文件中包括该调用对象的账号、密码、地址、软件环境等信息,基于这些信息,可创建一个调用对象。若要创建多个不同的调用对象,只需修改上述配置文件中的信息即可。
步骤S104,当所述当前待验证接口的依赖接口的验证结果中出现验证失败时,获得所述当前待验证接口的验证结果为验证失败。
本实施例中,当当前待验证接口的依赖接口的验证结果中出现验证失败时,就不再需要对当前待验证接口进行验证,直接将当前待验证接口的验证结果标注为验证失败,并返回给状态机。
进一步地,本实施例所述的方法还包括:
生成验证报告;其中,所述验证报告用于记录以下项目中的至少一项:已验证接口的验证结果、验证通过率、验证失败原因。
进一步地,本实施例所述的方法还包括:
生成验证日志,该验证日志用于在验证完成后,全面、准确地再现验证操作过程。
具体地,通过对整个验证操作过程的关键点进行日志记录,在验证完成后可以通过日志全面、准确地再现操作过程。验证报告简洁地展示了所有接口的验证结果、验证覆盖率、验证通过率,验证失败原因等信息,并通过点击“详细信息”查看日志信息,展示具体验证失败的原因。
其中,某一接口验证失败原因包括:该接口本身进行了验证操作而验证失败,以及,该接口的依赖接口验证失败或依赖失败而造成的该接口的验证失败。
图3为本发明实施例中实现类的细化流程图,其中,“映射是否成功”指的是判断系统中是否具有验证某一接口功能的实现类,若有,才能继续验证,若没有,则不能对相关接口进行验证。
图4为本发明实施例中状态机的细化流程图,其中,对某一接口的验证结果均写入状态机中。
本发明实施例利用等级划分,将所有待验证接口按等级分配不同的执行权重。利用状态机机制,将验证结果细化,区分失败原因,为后续的操作提供了参考。集中的输出了聚合报告并给出通过率。
本发明方法适用于S3存储协议的支持验证,为一种适用于S3存储协议接口可用性的快速检测方法,同时也适用于与S3接口类似接口的验证,使用时通过修改配置文件(即上述用于创建调用对象的配置文件)后运行程序即可。
本发明实施例提供的一种接口验证方法,首先判断当前待验证接口是否具有依赖接口,当当前待验证接口具有依赖接口时,再查询当前待验证接口的所有依赖接口的验证结果,当当前待验证接口的所有依赖接口的验证结果均为验证成功时,对当前待验证接口进行验证,当当前待验证接口的依赖接口的验证结果中出现验证失败时,获得当前待验证接口的验证结果为验证失败。可见,本发明实施例提供的技术方案,能够基于当前待验证接口的依赖接口的验证结果来确定是否对当前待验证接口进行验证,当当前待验证接口的依赖接口的验证结果中出现验证失败时,直接将当前待验证接口视为验证失败,而不需要再对其进行验证;只有当当前待验证接口的所有依赖接口的验证结果均为验证成功时,才对当前待验证接口进行验证,如此,大大简化了验证过程、缩短了验证时间。因此,本发明实施例提供的技术方案,能够简单、快速地对待验证接口进行自动验证,从而满足对大量接口的验证需求。
实施例二
与上述方法实施例相对应地,本发明还提供一种接口验证装置,如图5所示,所述装置包括:
验证执行单元201,用于基于预设接口验证顺序执行以下操作,以获得所有待验证接口的验证结果:
判断当前待验证接口是否具有依赖接口;
当所述当前待验证接口具有依赖接口时,查询所述当前待验证接口的所有依赖接口的验证结果;其中,所述当前待验证接口的依赖接口先于所述当前待验证接口验证;
当所述当前待验证接口的所有依赖接口的验证结果均为验证成功时,对所述当前待验证接口进行验证,获得所述当前待验证接口的验证结果;
当所述当前待验证接口的依赖接口的验证结果中出现验证失败时,获得所述当前待验证接口的验证结果为验证失败。
本实施例中,所述验证执行单元201还用于:当所述当前待验证接口没有依赖接口时,对所述当前待验证接口进行验证,获得所述当前待验证接口的验证结果。
本实施例中,所述验证执行单元201采用以下方式判断当前待验证接口是否具有依赖接口:
基于预先确定的接口依赖关系判断当前待验证接口是否具有依赖接口。
本实施例中,所述所有待验证接口均为S3接口,所述接口依赖关系采用以下方式预先确定:
对于所述所有待验证接口中的每个接口,执行以下操作:
获取该接口的功能和该接口在S3存储协议逻辑中所处的位置;
基于该接口的功能和该接口在S3存储协议逻辑中所处的位置,确定该接口的等级;
基于所述每个接口的所述等级,确定所述接口依赖关系。
进一步地,本实施例所述的装置还包括预先建立的状态机,所述接口依赖关系存储于所述状态机中;所述状态机用于实时反映当前待验证接口的所有依赖接口的验证结果;所述验证执行单元201采用以下方式查询所述当前待验证接口的所有依赖接口的验证结果:
当所述当前待验证接口具有依赖接口时,通过所述状态机查询所述当前待验证接口的所有依赖接口的验证结果。
本实施例中,所述验证执行单元201采用以下方式对当前待验证接口进行验证,获得所述当前待验证接口的验证结果:
当所述当前待验证接口的所有依赖接口的验证结果均为验证成功时,调用预先建立的实现类对所述当前待验证接口进行验证,获得所述当前待验证接口的验证结果;其中,所述实现类在运行时能够判断所述当前待验证接口在当前软件环境下是否可用。
本实施例中,所述验证执行单元201还采用以下方式对当前待验证接口进行验证,获得所述当前待验证接口的验证结果:
当所述当前待验证接口的所有依赖接口的验证结果均为验证成功时,通过预先创建的多个调用对象调用所述实现类对所述当前待验证接口进行验证,获得针对每个所述调用对象的所述当前待验证接口的验证结果;其中,不同的所述调用对象所处的所述当前软件环境不同。
进一步地,本实施例所述的装置还包括:
验证报告生成单元,用于生成验证报告;其中,所述验证报告用于记录以下项目中的至少一项:已验证接口的验证结果、验证通过率、验证失败原因。
上述装置的工作原理、工作流程等涉及具体实施方式的内容可参见本发明实施例一所提供的接口验证方法的具体实施方式,此处不再对相同的技术内容进行详细描述。
本发明实施例提供的一种接口验证装置,首先判断当前待验证接口是否具有依赖接口,当当前待验证接口具有依赖接口时,再查询当前待验证接口的所有依赖接口的验证结果,当当前待验证接口的所有依赖接口的验证结果均为验证成功时,对当前待验证接口进行验证,当当前待验证接口的依赖接口的验证结果中出现验证失败时,获得当前待验证接口的验证结果为验证失败。可见,本发明实施例提供的技术方案,能够基于当前待验证接口的依赖接口的验证结果来确定是否对当前待验证接口进行验证,当当前待验证接口的依赖接口的验证结果中出现验证失败时,直接将当前待验证接口视为验证失败,而不需要再对其进行验证;只有当当前待验证接口的所有依赖接口的验证结果均为验证成功时,才对当前待验证接口进行验证,如此,大大简化了验证过程、缩短了验证时间。因此,本发明实施例提供的技术方案,能够简单、快速地对待验证接口进行自动验证,从而满足对大量接口的验证需求。
实施例三
根据本发明的实施例,还提供了一种存储介质,所述存储介质上存储有程序代码,所述程序代码被处理器执行时,实现如上述实施例任一项所述的接口验证方法。
实施例四
根据本发明的实施例,还提供了一种电子设备,所述电子设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的程序代码,所述程序代码被所述处理器执行时,实现如上述实施例任一项所述的接口验证方法。
本发明实施例提供的一种接口验证方法、装置、存储介质及电子设备,首先判断当前待验证接口是否具有依赖接口,当当前待验证接口具有依赖接口时,再查询当前待验证接口的所有依赖接口的验证结果,当当前待验证接口的所有依赖接口的验证结果均为验证成功时,对当前待验证接口进行验证,当当前待验证接口的依赖接口的验证结果中出现验证失败时,获得当前待验证接口的验证结果为验证失败。可见,本发明实施例提供的技术方案,能够基于当前待验证接口的依赖接口的验证结果来确定是否对当前待验证接口进行验证,当当前待验证接口的依赖接口的验证结果中出现验证失败时,直接将当前待验证接口视为验证失败,而不需要再对其进行验证;只有当当前待验证接口的所有依赖接口的验证结果均为验证成功时,才对当前待验证接口进行验证,如此,大大简化了验证过程、缩短了验证时间。因此,本发明实施例提供的技术方案,能够简单、快速地对待验证接口进行自动验证,从而满足对大量接口的验证需求。
本发明为基于S3存储协议的应用在验证其可用性的问题上提供一种可以快速,准确的检测其可用性的方法,是一种依附于逻辑的验证手段,能够智能地判断上下游接口关系,且验证执行次数少、花费时间短。此外,本发明能够得到某一接口验证失败的具体原因,使得所获得的验证信息更加全面、准确。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (11)
1.一种接口验证方法,其特征在于,所述方法包括:
基于预设接口验证顺序执行以下操作,以获得所有待验证接口的验证结果:
判断当前待验证接口是否具有依赖接口;
当所述当前待验证接口具有依赖接口时,查询所述当前待验证接口的所有依赖接口的验证结果;其中,所述当前待验证接口的依赖接口先于所述当前待验证接口验证;
当所述当前待验证接口的所有依赖接口的验证结果均为验证成功时,对所述当前待验证接口进行验证,获得所述当前待验证接口的验证结果;
当所述当前待验证接口的依赖接口的验证结果中出现验证失败时,获得所述当前待验证接口的验证结果为验证失败。
2.根据权利要求1所述的接口验证方法,其特征在于,所述基于预设接口验证顺序执行以下操作,以获得所有待验证接口的验证结果,还包括:
当所述当前待验证接口没有依赖接口时,对所述当前待验证接口进行验证,获得所述当前待验证接口的验证结果。
3.根据权利要求1或2所述的接口验证方法,其特征在于,所述判断当前待验证接口是否具有依赖接口,包括:
基于预先确定的接口依赖关系判断当前待验证接口是否具有依赖接口。
4.根据权利要求3所述的接口验证方法,其特征在于,所述所有待验证接口均为S3接口,所述接口依赖关系采用以下方式预先确定:
对于所述所有待验证接口中的每个接口,执行以下操作:
获取该接口的功能和该接口在S3存储协议逻辑中所处的位置;
基于该接口的功能和该接口在S3存储协议逻辑中所处的位置,确定该接口的等级;
基于所述每个接口的所述等级,确定所述接口依赖关系。
5.根据权利要求3所述的接口验证方法,其特征在于,所述接口依赖关系存储于预先建立的状态机中;所述状态机用于实时反映当前待验证接口的所有依赖接口的验证结果;所述当所述当前待验证接口具有依赖接口时,查询所述当前待验证接口的所有依赖接口的验证结果,包括:
当所述当前待验证接口具有依赖接口时,通过所述状态机查询所述当前待验证接口的所有依赖接口的验证结果。
6.根据权利要求1或2所述的接口验证方法,其特征在于,所述当所述当前待验证接口的所有依赖接口的验证结果均为验证成功时,对所述当前待验证接口进行验证,获得所述当前待验证接口的验证结果,包括:
当所述当前待验证接口的所有依赖接口的验证结果均为验证成功时,调用预先建立的实现类对所述当前待验证接口进行验证,获得所述当前待验证接口的验证结果;其中,所述实现类在运行时能够判断所述当前待验证接口在当前软件环境下是否可用。
7.根据权利要求6所述的接口验证方法,其特征在于,所述当所述当前待验证接口的所有依赖接口的验证结果均为验证成功时,调用预先建立的实现类对所述当前待验证接口进行验证,获得所述当前待验证接口的验证结果,包括:
当所述当前待验证接口的所有依赖接口的验证结果均为验证成功时,通过预先创建的多个调用对象调用所述实现类对所述当前待验证接口进行验证,获得针对每个所述调用对象的所述当前待验证接口的验证结果;其中,不同的所述调用对象所处的所述当前软件环境不同。
8.根据权利要求1或2所述的接口验证方法,其特征在于,所述方法还包括:
生成验证报告;其中,所述验证报告用于记录以下项目中的至少一项:已验证接口的验证结果、验证通过率、验证失败原因。
9.一种接口验证装置,其特征在于,所述装置包括:
验证执行单元,用于基于预设接口验证顺序执行以下操作,以获得所有待验证接口的验证结果:
判断当前待验证接口是否具有依赖接口;
当所述当前待验证接口具有依赖接口时,查询所述当前待验证接口的所有依赖接口的验证结果;其中,所述当前待验证接口的依赖接口先于所述当前待验证接口验证;
当所述当前待验证接口的所有依赖接口的验证结果均为验证成功时,对所述当前待验证接口进行验证,获得所述当前待验证接口的验证结果;
当所述当前待验证接口的依赖接口的验证结果中出现验证失败时,获得所述当前待验证接口的验证结果为验证失败。
10.一种存储介质,所述存储介质上存储有程序代码,其特征在于,所述程序代码被处理器执行时,实现如权利要求1至8中任一项所述的接口验证方法。
11.一种电子设备,其特征在于,所述电子设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的程序代码,所述程序代码被所述处理器执行时,实现如权利要求1至8中任一项所述的接口验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111295992.1A CN114253788B (zh) | 2021-11-03 | 2021-11-03 | 接口验证方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111295992.1A CN114253788B (zh) | 2021-11-03 | 2021-11-03 | 接口验证方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114253788A true CN114253788A (zh) | 2022-03-29 |
CN114253788B CN114253788B (zh) | 2023-04-28 |
Family
ID=80790465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111295992.1A Active CN114253788B (zh) | 2021-11-03 | 2021-11-03 | 接口验证方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114253788B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100082315A1 (en) * | 2008-09-30 | 2010-04-01 | Hall Giles T | Interface between a verification environment and a hardware acceleration engine |
US20140068639A1 (en) * | 2012-08-31 | 2014-03-06 | Nicholas Hage Schrock | API Version Testing Based On Query Schema |
US20170060560A1 (en) * | 2015-08-26 | 2017-03-02 | Bank Of America Corporation | Software and associated hardware regression and compatiblity testing system |
CN109298997A (zh) * | 2018-08-08 | 2019-02-01 | 平安科技(深圳)有限公司 | 接口测试方法、系统、计算机设备和存储介质 |
CN110334007A (zh) * | 2019-05-27 | 2019-10-15 | 深圳壹账通智能科技有限公司 | 一种功能接口调用验证方法及装置、电子设备及存储介质 |
CN111240955A (zh) * | 2018-11-28 | 2020-06-05 | 北京京东尚科信息技术有限公司 | Http接口自动化测试方法及装置、存储介质、电子设备 |
-
2021
- 2021-11-03 CN CN202111295992.1A patent/CN114253788B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100082315A1 (en) * | 2008-09-30 | 2010-04-01 | Hall Giles T | Interface between a verification environment and a hardware acceleration engine |
US20140068639A1 (en) * | 2012-08-31 | 2014-03-06 | Nicholas Hage Schrock | API Version Testing Based On Query Schema |
US20170060560A1 (en) * | 2015-08-26 | 2017-03-02 | Bank Of America Corporation | Software and associated hardware regression and compatiblity testing system |
CN109298997A (zh) * | 2018-08-08 | 2019-02-01 | 平安科技(深圳)有限公司 | 接口测试方法、系统、计算机设备和存储介质 |
CN111240955A (zh) * | 2018-11-28 | 2020-06-05 | 北京京东尚科信息技术有限公司 | Http接口自动化测试方法及装置、存储介质、电子设备 |
CN110334007A (zh) * | 2019-05-27 | 2019-10-15 | 深圳壹账通智能科技有限公司 | 一种功能接口调用验证方法及装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
黄洲等: "基于依赖性分析的对象行为协议逆向恢复", 《计算机科学》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114253788B (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108683516B (zh) | 一种应用实例的升级方法、装置和系统 | |
US10768955B1 (en) | Executing commands within virtual machine instances | |
US10348766B1 (en) | System and method for managing group policy backup | |
US6535915B1 (en) | Automatic reduction of data noise in installation packages for a computer system | |
US10033604B2 (en) | Providing compliance/monitoring service based on content of a service controller | |
US10296563B2 (en) | Automated testing of perceptible web page elements | |
US6023586A (en) | Integrity verifying and correcting software | |
US10379894B1 (en) | Lineage-based trust for virtual machine images | |
JP2005276177A (ja) | ネットワーク構成のチェックおよび修理のための方法、システムおよびプログラム | |
CN109669631B (zh) | 一种存储池规划方法、装置、设备及计算机可读存储介质 | |
JP2007520814A (ja) | プロビジョニングデータ処理システムにおいてリソースを識別、予約、および論理的にプロビジョニングする方法、システム、およびプログラム | |
US10826756B2 (en) | Automatic generation of threat remediation steps by crowd sourcing security solutions | |
EP4035327A1 (en) | Template-based onboarding of internet-connectible devices | |
US8370800B2 (en) | Determining application distribution based on application state tracking information | |
CN112463203A (zh) | 一种SELinux的管理配置方法、系统、设备以及介质 | |
US20090319635A1 (en) | Centrally managed inventory and entitlement data | |
CN114253788B (zh) | 接口验证方法、装置、存储介质及电子设备 | |
US20120072551A1 (en) | Ambiguity measurement and management for configuration items | |
CN113127258A (zh) | 一种数据备份方法、装置、设备及介质 | |
US9092295B2 (en) | Managing software package updates using communication pipes | |
CN114564466B (zh) | 一种管理数据库的数据库管理系统、方法 | |
CN105634932A (zh) | 一种消息推送方法、装置和系统 | |
GB2610893A (en) | Systems and methods for deploying software applications using application catalogs | |
US7797540B2 (en) | Predictive support system for software | |
US7703135B2 (en) | Accessing protected resources via multi-identity security environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |