CN113791984B - 接口自动化测试方法及装置 - Google Patents
接口自动化测试方法及装置 Download PDFInfo
- Publication number
- CN113791984B CN113791984B CN202111266757.1A CN202111266757A CN113791984B CN 113791984 B CN113791984 B CN 113791984B CN 202111266757 A CN202111266757 A CN 202111266757A CN 113791984 B CN113791984 B CN 113791984B
- Authority
- CN
- China
- Prior art keywords
- interface
- target
- test
- field
- initial
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请实施例提供一种接口自动化测试方法及装置,方法包括:将当前用于采用目标测试用例进行自动化测试的初始接口确定为目标接口,判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,若是,则标记该非空标志位中记载的前置接口,并将当前的目标接口更新为该前置接口后再次判断,直至目标接口的各个字段各自对应的标志位均为空标志位;基于目标测试用例对初始接口以及已标记的前置接口进行自动化测试。本申请能够有效提高接口查找的自动化程度及智能化程度,降低关联接口查找的数据量及数据冗余,防止关联接口的遗漏或者错选,进而能够有效提高接口自动化测试过程的效率、自动化程度及可靠性,有效节省人力资源和时间成本。
Description
技术领域
本申请涉及数据处理技术领域,具体涉及接口自动化测试方法及装置。
背景技术
接口自动化测试的一般流程,首先提供接口及测试用例,然后在指定的环境中运行,最后返回测试结果。当涉及多个接口业务,尤其是这些接口间存在关联关系时,需要挑选出全部接口并按一定规则执行。
然而,现有的接口自动化测试方式中,需要采用人工操作或根据测试用例等挑选出与初始接口关联的其他接口,该种方式需要查找的数据量大且耗时长,挑选动作会耗费较多的人力资源和时间成本,也容易因为遗漏或者错选而影响测试结果。
发明内容
针对现有技术中的问题,本申请提供一种接口自动化测试方法及装置,能够有效提高接口查找的自动化程度及智能化程度,降低关联接口查找的数据量及数据冗余,防止关联接口的遗漏或者错选,进而能够有效提高接口自动化测试过程的效率、自动化程度及可靠性,有效节省人力资源和时间成本。
为解决上述技术问题,本申请提供以下技术方案:
第一方面,本申请提供一种接口自动化测试方法,包括:
将当前用于采用目标测试用例进行自动化测试的初始接口确定为目标接口,针对所述目标接口执行前置接口查找步骤;
其中,所述前置接口查找步骤包括:判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,若是,则标记该非空标志位中记载的前置接口,并将当前的所述目标接口更新为该前置接口后再次判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,直至所述目标接口的各个字段各自对应的标志位均为空标志位;
若存在已标记的前置接口,则在预设的目标测试环境中,基于所述目标测试用例对所述初始接口以及已标记的前置接口进行自动化测试。
进一步地,在所述将当前用于采用目标测试用例进行自动化测试的初始接口确定为目标接口之前,还包括:
为业务***对应的各个接口各自对应的各个字段分别设置标志位,其中,所述标志位包括空标志位和非空标志位;所述非空标志位用于存储前置接口与字段之间的对应关系。
进一步地,所述将当前用于采用目标测试用例进行自动化测试的初始接口确定为目标接口,针对所述目标接口执行前置接口查找步骤,包括:
接收针对业务***的接口测试请求,其中,该接口测试请求中包含有待测试接口的唯一标识、目标测试用例的唯一标识和目标测试环境的唯一标识;
根据所述目标测试用例的唯一标识自预设的测试用例库中选取该目标测试用例,根据所述目标测试环境的唯一标识自预设的测试环境库中查找该目标测试环境;
对所述目标测试环境进行网络连通性验证,若该网络连通性验证通过,则基于所述待测试接口的唯一标识确定当前测试的初始接口,并将该初始接口确定为目标接口,针对所述目标接口执行前置接口查找步骤。
进一步地,在所述接收针对业务***的接口测试请求之前,还包括:
将所述业务***对应的各个测试用例和各个所述测试用例的唯一标识存储至用于在线编辑的测试用例库,并将业务***对应的各个测试环境和各个所述测试环境的唯一标识存储至用于在线编辑的测试环境库,所述测试环境包括对应的网络地址信息。
进一步地,还包括:
以导入或页面新增的方式在所述测试用例库中添加测试用例,且所述测试用例中的各个字段的值可以为空或非空。
进一步地,还包括:
以导入或页面新增的方式在所述测试环境库中直接添加未进行网络连通性验证的测试环境。
进一步地,在所述针对所述目标接口执行前置接口查找步骤之前,还包括:
基于预设的编码规则,将所述初始接口进行编码;
相对应的,所述标记该非空标志位中记载的前置接口,包括:
基于所述编码规则,为所述非空标志位中记载的前置接口进行编码,使该前置接口的编码数值大于所述初始接口;其中,若该前置接口与所述初始接口之间还有其他接口,则该前置接口的编码数值大于其他接口的编码数值。
进一步地,在所述若存在已标记的前置接口,则在预设的目标测试环境中,基于所述目标测试用例对所述初始接口以及已标记的前置接口进行自动化测试之前,还包括:
基于预设的编码规则,针对所述初始接口和其依次关联的各个前置接口,依次进行数值由小至大的编码,使得所述初始接口和其依次关联的各个前置接口各自对应唯一编码数值。
进一步地,所述若存在已标记的前置接口,则在预设的目标测试环境中,基于所述目标测试用例对所述初始接口以及已标记的前置接口进行自动化测试,包括:
若存在已标记的前置接口,则将所述初始接口以及已标记的前置接口的数据均写入所述目标测试用例;
针对所述目标测试用例中值为空的用例字段,查找该用例字段对应接口的字段的标志位,若该标志位为非空标志位,则将该标志位中存储的前置字段对应的字段值确定为当前用例字段的目标值;若该标志位为空标志位,则将该用例字段的目标值设为空;
针对所述目标测试用例中值为非空的用例字段,将该值确定为该用例字段的目标值;
在预设的目标测试环境中,根据所述初始接口以及已标记的前置接口的编码数值,以编码数值由大至小的顺序,依次在各个所述已标记的前置接口和所述初始接口中执行所述目标测试用例对应的自动化测试任务。
第二方面,本申请提供一种接口自动化测试装置,包括:
前置查找模块,用于将当前用于采用目标测试用例进行自动化测试的初始接口确定为目标接口,针对所述目标接口执行前置接口查找步骤;
其中,所述前置接口查找步骤包括:判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,若是,则标记该非空标志位中记载的前置接口,并将当前的所述目标接口更新为该前置接口后再次判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,直至所述目标接口的各个字段各自对应的标志位均为空标志位;
接口测试模块,用于若存在已标记的前置接口,则在预设的目标测试环境中,基于所述目标测试用例对所述初始接口以及已标记的前置接口进行自动化测试。
进一步地,还包括:
标志位设置模块,用于在所述将当前用于采用目标测试用例进行自动化测试的初始接口确定为目标接口之前,为业务***对应的各个接口各自对应的各个字段分别设置标志位,其中,所述标志位包括空标志位和非空标志位;所述非空标志位用于存储前置接口与字段之间的对应关系。
进一步地,所述前置查找模块还用于在所述针对所述目标接口执行前置接口查找步骤之前,基于预设的编码规则,将所述初始接口进行编码;
相对应的,所述前置查找模块包括编码单元;
所述编码单元用于基于所述编码规则,为所述非空标志位中记载的前置接口进行编码,使该前置接口的编码数值大于所述初始接口;其中,若该前置接口与所述初始接口之间还有其他接口,则该前置接口的编码数值大于其他接口的编码数值。
进一步地,还包括:
编码模块,用于在所述在预设的目标测试环境中,基于所述目标测试用例对所述初始接口以及已标记的前置接口进行自动化测试之前,基于预设的编码规则,针对所述初始接口和其依次关联的各个前置接口,依次进行数值由小至大的编码,使得所述初始接口和其依次关联的各个前置接口各自对应唯一编码数值。
进一步地,所述接口测试模块,用于执行下述内容:
若存在已标记的前置接口,则将所述初始接口以及已标记的前置接口的数据均写入所述目标测试用例;
针对所述目标测试用例中值为空的用例字段,查找该用例字段对应接口的字段的标志位,若该标志位为非空标志位,则将该标志位中存储的前置字段对应的字段值确定为当前用例字段的目标值;若该标志位为空标志位,则将该用例字段的目标值设为空;
针对所述目标测试用例中值为非空的用例字段,将该值确定为该用例字段的目标值;
在预设的目标测试环境中,根据所述初始接口以及已标记的前置接口的编码数值,以编码数值由大至小的顺序,依次在各个所述已标记的前置接口和所述初始接口中执行所述目标测试用例对应的自动化测试任务。
第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的接口自动化测试方法。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的接口自动化测试方法。
由上述技术方案可知,本申请提供的一种接口自动化测试方法及装置,方法包括:将当前用于采用目标测试用例进行自动化测试的初始接口确定为目标接口,针对所述目标接口执行前置接口查找步骤;其中,所述前置接口查找步骤包括:判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,若是,则标记该非空标志位中记载的前置接口,并将当前的所述目标接口更新为该前置接口后再次判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,直至所述目标接口的各个字段各自对应的标志位均为空标志位;若存在已标记的前置接口,则在预设的目标测试环境中,基于所述目标测试用例对所述初始接口以及已标记的前置接口进行自动化测试,通过判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,若是,则标记该非空标志位中记载的前置接口,并将当前的所述目标接口更新为该前置接口后再次判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,直至所述目标接口的各个字段各自对应的标志位均为空,能够从接口的角度出发,有效提高关联接口查找的自动化程度及智能化程度,且通过构建标志位,能够有效降低关联接口查找的数据量及数据冗余,并能够防止关联接口的遗漏或者错选,进而能够有效提高接口自动化测试过程的效率及自动化程度,有效节省人力资源和时间成本,并能够有效提高接口自动化测试的可靠性及有效性,提高测试人员的用户体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例中的接口自动化测试装置与客户端设备之间的关系示意图。
图2是本申请实施例中的接口自动化测试方法的第一种流程示意图。
图3是本申请实施例中的接口自动化测试方法的第二种流程示意图。
图4是本申请实施例中的接口自动化测试方法中步骤100的流程示意图。
图5是本申请实施例中的接口自动化测试方法的第三种流程示意图。
图6是本申请实施例中的接口自动化测试方法的第四种流程示意图。
图7是本申请实施例中的接口自动化测试方法的第五种流程示意图。
图8是本申请实施例中的接口自动化测试方法中步骤200的流程示意图。
图9是本申请实施例中的接口自动化测试装置的第一种结构示意图。
图10是本申请实施例中的接口自动化测试装置的第二种结构示意图。
图11是本申请实施例中的接口自动化测试装置的第三种结构示意图。
图12是本申请实施例中的接口自动化测试装置的第四的结构示意图。
图13是本申请应用实例提供的自动化测试方法的流程示意图。
图14是本申请应用实例提供的执行测试用例的一个举例示意图。
图15是本申请应用实例提供的自动化测试装置的结构示意图。
图16是本申请实施例中的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
针对现有的接口自动化测试方式中,需要采用人工操作或根据测试用例等挑选出与初始接口关联的其他接口,该种方式需要查找的数据量大且耗时长,挑选动作会耗费较多的人力资源和时间成本,也容易因为遗漏或者错选而影响测试结果的问题,本申请实施例提供一种接口自动化测试方式,通过判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,若是,则标记该非空标志位中记载的前置接口,并将当前的所述目标接口更新为该前置接口后再次判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,直至所述目标接口的各个字段各自对应的标志位均为空,能够从接口的角度出发,有效提高关联接口查找的自动化程度及智能化程度,且通过构建标志位,能够有效降低关联接口查找的数据量及数据冗余,并能够防止关联接口的遗漏或者错选,进而能够有效提高接口自动化测试过程的效率及自动化程度,有效节省人力资源和时间成本,并能够有效提高接口自动化测试的可靠性及有效性,提高测试人员的用户体验。
基于上述内容,本申请还提供一种用于实现本申请一个或多个实施例中提供的接口自动化测试方法的接口自动化测试装置,该接口自动化测试装置可以为一服务器,参见图1,该接口自动化测试装置可以自行或通过第三方服务器等与各个客户端设备之间依次通信连接,接口自动化测试装置可以接收客户端设备发送的接口自动化测试指令,并根据该接口自动化测试指令将当前用于采用目标测试用例进行自动化测试的初始接口确定为目标接口,针对所述目标接口执行前置接口查找步骤;其中,所述前置接口查找步骤包括:判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,若是,则标记该非空标志位中记载的前置接口,并将当前的所述目标接口更新为该前置接口后再次判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,直至所述目标接口的各个字段各自对应的标志位均为空标志位;若存在已标记的前置接口,则在预设的目标测试环境中,基于所述目标测试用例对所述初始接口以及已标记的前置接口进行自动化测试,接口自动化测试装置还可以将自动化测试结果数据发送至用户的客户端设备等。
在另一种实际应用情形中,前述的接口自动化测试装置进行接口自动化测试的部分可以在如上述内容的服务器中执行,也可以所有的操作都在所述用户端设备中完成。具体可以根据所述用户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述用户端设备中完成,所述用户端设备还可以包括处理器,用于接口自动化测试的具体处理。
可以理解的是,所述移动终端可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、个人数字助理(PDA)、车载设备、智能穿戴设备等任何能够装载应用的移动设备。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。
上述的移动终端可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
上述服务器与所述移动终端之间可以使用任何合适的网络协议进行通信,包括在本申请提交日尚未开发出的网络协议。所述网络协议例如可以包括TCP/IP协议、UDP/IP协议、HTTP协议、HTTPS协议等。当然,所述网络协议例如还可以包括在上述协议之上使用的RPC协议(Remote Procedure Call Protocol,远程过程调用协议)、REST协议(Representational State Transfer,表述性状态转移协议)等。
在本申请的一个或多个实施例中,AICT是AI Cloud Test的缩写,中文名称为智能云测试平台。
在本申请的一个或多个实施例中,标志位是对每个字段设定的一个标志,其格式为A:B,其中A代表A接口,B代表接口字段。若该标志位为空,则表示该字段取值不依赖其他接口字段。
具体通过下述各个实施例及应用实例分别进行详细说明。
为了解决现有的接口自动化测试方式中,需要采用人工操作或根据测试用例等挑选出与初始接口关联的其他接口,该种方式需要查找的数据量大且耗时长,挑选动作会耗费较多的人力资源和时间成本,也容易因为遗漏或者错选而影响测试结果等问题,本申请提供一种接口自动化测试方法的实施例,参见图2,基于接口自动化测试装置执行的所述接口自动化测试方法具体包含有如下内容:
步骤100:将当前用于采用目标测试用例进行自动化测试的初始接口确定为目标接口,针对所述目标接口执行前置接口查找步骤;其中,所述前置接口查找步骤包括:判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,若是,则标记该非空标志位中记载的前置接口,并将当前的所述目标接口更新为该前置接口后再次判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,直至所述目标接口的各个字段各自对应的标志位均为空标志位。
可以理解的是,可通过导入或页面新增的方式添加测试接口。添加时除测试接口本身已有信息外,还需要为每个字段设置标志位,该标志位用以表示字段取值所依赖的其他接口字段。其格式为A:B,其中A代表所依赖的前置接口A,B代表该前置接口的字段。若该标志位为空,则表示该字段取值不依赖其他接口字段。
步骤200:若存在已标记的前置接口,则在预设的目标测试环境中,基于所述目标测试用例对所述初始接口以及已标记的前置接口进行自动化测试。
可以理解的是,可通过导入或页面新增的方式添加测试用例。添加时测试用例中各字段值可以为空或非空。当执行测试用例时,对于测试用例中的非空字段,发送的请求数据等于测试用例中对应的值。对于测试用例中字段值为空的字段,则需要判断对应接口的字段标志位。若接口字段标志位为空,则执行测试用例时发送的请求中该字段值也为空。若接口字段标志位非空,则取字段标志位所代表接口的测试用例中对应的值。例如:假设接口A有个字段B,接口A的测试用例中B的值为“abc001”;接口C有个字段D,D的字段标志位为A:B,接口C的测试用例中D的值为空。则在执行C的测试用例时,其字段D的取值为“abc001”。当字段值为空时,需要检查该测试用例对应接口的字段标志位,若字段标志位非空时,其字段值等于标志位所代表的前置接口对应字段的值。字段内容即字段的值,就是测试用例中对应字段设置的值,或者该字段所依赖的前置测试用例对应的值。
从上述描述可知,本申请实施例提供的接口自动化测试方法,通过判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,若是,则标记该非空标志位中记载的前置接口,并将当前的所述目标接口更新为该前置接口后再次判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,直至所述目标接口的各个字段各自对应的标志位均为空,能够从接口的角度出发,有效提高关联接口查找的自动化程度及智能化程度,且通过构建标志位,能够有效降低关联接口查找的数据量及数据冗余,并能够防止关联接口的遗漏或者错选,进而能够有效提高接口自动化测试过程的效率及自动化程度,有效节省人力资源和时间成本,并能够有效提高接口自动化测试的可靠性及有效性,提高测试人员的用户体验。
为了提高后续进行前置接口查找步骤的可靠性及效率,在本申请提供的接口自动化测试方法的一个实施例,参见图3,所述接口自动化测试方法的步骤100之前还具体包含有如下内容:
步骤010:为业务***对应的各个接口各自对应的各个字段分别设置标志位,其中,所述标志位包括空标志位和非空标志位;所述非空标志位用于存储前置接口与字段之间的对应关系。
从上述描述可知,本申请实施例提供的接口自动化测试方法,通过预先设置空标志位和非空标志位,能够有效提高后续进行前置接口查找步骤的可靠性及效率,进而能够进一步提高接口自动化测试过程的效率及自动化程度,有效节省人力资源和时间成本,并能够有效提高接口自动化测试的可靠性及有效性。
为了能够根据接口测试请求直接选定所需的数据,在本申请提供的接口自动化测试方法的一个实施例,参见图4,所述接口自动化测试方法的步骤100具体包含有如下内容:
步骤110:接收针对业务***的接口测试请求,其中,该接口测试请求中包含有待测试接口的唯一标识、目标测试用例的唯一标识和目标测试环境的唯一标识。
步骤120:根据所述目标测试用例的唯一标识自预设的测试用例库中选取该目标测试用例,根据所述目标测试环境的唯一标识自预设的测试环境库中查找该目标测试环境。
步骤130:对所述目标测试环境进行网络连通性验证,若该网络连通性验证通过,则基于所述待测试接口的唯一标识确定当前测试的初始接口,并将该初始接口确定为目标接口,针对所述目标接口执行前置接口查找步骤。
从上述描述可知,本申请实施例提供的接口自动化测试方法,通过设置测试用例库、测试环境库等,无需通过用户自行查找选取,即能够根据接口测试请求直接选定所需的数据,进而能够进一步提高接口自动化测试过程的效率及自动化程度,有效节省人力资源和时间成本,并能够有效提高接口自动化测试的可靠性及有效性。
为了提高修改测试用例和测试环境的便捷性,在本申请提供的接口自动化测试方法的一个实施例,参见图5,所述接口自动化测试方法的步骤100或步骤200之间还具体包含有如下内容:
步骤020:将所述业务***对应的各个测试用例和各个所述测试用例的唯一标识存储至用于在线编辑的测试用例库,并将业务***对应的各个测试环境和各个所述测试环境的唯一标识存储至用于在线编辑的测试环境库,所述测试环境包括对应的网络地址信息。
从上述描述可知,本申请实施例提供的接口自动化测试方法,通过预先设置测试用例库和测试环境库,且测试用例库和测试环境库均支持用户在线编辑,能够有效提高后续根据所述目标测试用例的唯一标识自预设的测试用例库中选取该目标测试用例,根据所述目标测试环境的唯一标识自预设的测试环境库中查找该目标测试环境的效率及可靠性,并能够有效提高修改测试用例和测试环境的便捷性,进而能够进一步提高接口自动化测试过程的效率及自动化程度,有效节省人力资源和时间成本,并能够有效提高接口自动化测试的可靠性及有效性,并进一步提高测试人员的用户体验。
为了提高测试用例库中存储的测试用例的设置灵活性及适用广泛性,在本申请提供的接口自动化测试方法的一个实施例,所述接口自动化测试方法还具体包含有如下内容:
步骤300:以导入或页面新增的方式在所述测试用例库中添加测试用例,且所述测试用例中的各个字段的值可以为空或非空。
从上述描述可知,本申请实施例提供的接口自动化测试方法,通过以导入或页面新增的方式在所述测试用例库中添加测试用例,能够有效提高测试用例库中存储的测试用例的设置灵活性及适用广泛性,进而能够有效提高后续根据所述目标测试用例的唯一标识自预设的测试用例库中选取该目标测试用例的效率及可靠性,进而能够进一步提高接口自动化测试过程的效率及自动化程度,有效节省人力资源和时间成本,并能够有效提高接口自动化测试的可靠性及有效性。
为了高测试环境库中存储的测试环境的设置灵活性及适用广泛性,在本申请提供的接口自动化测试方法的一个实施例,所述接口自动化测试方法还具体包含有如下内容:
步骤400:以导入或页面新增的方式在所述测试环境库中直接添加未进行网络连通性验证的测试环境。
从上述描述可知,本申请实施例提供的接口自动化测试方法,通过以导入或页面新增的方式在所述测试环境库中添加测试环境,能够有效提高测试环境库中存储的测试环境的设置灵活性及适用广泛性,进而能够有效提高后续根据所述目标测试环境的唯一标识自预设的测试环境库中选取该目标测试环境的效率及可靠性,进而能够进一步提高接口自动化测试过程的效率及自动化程度,有效节省人力资源和时间成本,并能够有效提高接口自动化测试的可靠性及有效性。且在测试环境导入阶段不进行网络连通性验证,能够进一步提高新增并存储测试环境的效率。
为了提高自动批量审批的有效性及可靠性,在本申请提供的接口自动化测试方法的一个实施例,所述接口自动化测试方法中的步骤100的所述针对所述目标接口执行前置接口查找步骤之前,还包括如下内容:
基于预设的编码规则,将所述初始接口进行编码。
相对应的,所述步骤100中的标记该非空标志位中记载的前置接口,包括:基于所述编码规则,为所述非空标志位中记载的前置接口进行编码,使该前置接口的编码数值大于所述初始接口;其中,若该前置接口与所述初始接口之间还有其他接口,则该前置接口的编码数值大于其他接口的编码数值。
基于此,参见图6,所述步骤100可以替换为步骤500:将当前用于采用目标测试用例进行自动化测试的初始接口确定为目标接口,基于预设的编码规则,将所述初始接口进行编码;针对所述目标接口执行前置接口查找步骤;其中,所述前置接口查找步骤包括:判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,若是,则基于所述编码规则,为所述非空标志位中记载的前置接口进行编码,使该前置接口的编码数值大于所述初始接口;其中,若该前置接口与所述初始接口之间还有其他接口,则该前置接口的编码数值大于其他接口的编码数值,并将当前的所述目标接口更新为该前置接口后再次判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,直至所述目标接口的各个字段各自对应的标志位均为空标志位。
从上述描述可知,本申请实施例提供的接口自动化测试方法,通过为所述非空标志位中记载的前置接口进行编码,使该前置接口的编码数值大于所述初始接口;其中,若该前置接口与所述初始接口之间还有其他接口,则该前置接口的编码数值大于其他接口的编码数值,能够在标记非空标志位中记载的前置接口的过程中即实现对这些前置接口的编码操作,能够有效提高编码可靠性,防止遗漏;且使得这些前置接口的编码数值依次增大,进而能够有效提高后续执行测试用例的全面性、便捷性及可靠性,有效防止接口遗漏。
而在另一种实施例中,为了提高编码步骤的执行效率,在本申请提供的接口自动化测试方法的一个实施例,图7,所述接口自动化测试方法中的步骤100与步骤200之间还具体包含有如下内容:
步骤140:基于预设的编码规则,针对所述初始接口和其依次关联的各个前置接口,依次进行数值由小至大的编码,使得所述初始接口和其依次关联的各个前置接口各自对应唯一编码数值。
从上述描述可知,本申请实施例提供的接口自动化测试方法,通过在标记非空标志位中记载的前置接口的过程之后再针对所述初始接口和其依次关联的各个前置接口,依次进行数值由小至大的编码,能够有效提高编码步骤的执行效率,且使得这些关联接口的编码数值依次增大,进而能够有效提高后续执行测试用例的全面性、便捷性及可靠性,有效防止接口遗漏。
为了实现将所述初始接口以及已标记的前置接口的数据均写入所述目标测试用例并能够使得目标标测试用例已经根据各个接口的编号确定了执行顺序,在本申请提供的接口自动化测试方法的一个实施例,图8,所述接口自动化测试方法中的步骤200具体包含有如下内容:
步骤210:若存在已标记的前置接口,则将所述初始接口以及已标记的前置接口的数据均写入所述目标测试用例。
步骤220:针对所述目标测试用例中值为空的用例字段,查找该用例字段对应接口的字段的标志位,若该标志位为非空标志位,则将该标志位中存储的前置字段对应的字段值确定为当前用例字段的目标值;若该标志位为空标志位,则将该用例字段的目标值设为空。
步骤230:针对所述目标测试用例中值为非空的用例字段,将该值确定为该用例字段的目标值。
步骤240:在预设的目标测试环境中,根据所述初始接口以及已标记的前置接口的编码数值,以编码数值由大至小的顺序,依次在各个所述已标记的前置接口和所述初始接口中执行所述目标测试用例对应的自动化测试任务。
从上述描述可知,本申请实施例提供的接口自动化测试方法,通过在标记非空标志位中记载的前置接口的过程之后再针对所述初始接口和其依次关联的各个前置接口,依次进行数值由小至大的编码,能够有效提高编码步骤的执行效率,且使得这些关联接口的编码数值依次增大,进而能够有效提高后续执行测试用例的全面性、便捷性及可靠性,有效防止接口遗漏。
从软件层面来说,为了解决现有的接口自动化测试方式中,需要采用人工操作或根据测试用例等挑选出与初始接口关联的其他接口,该种方式需要查找的数据量大且耗时长,挑选动作会耗费较多的人力资源和时间成本,也容易因为遗漏或者错选而影响测试结果等问题,本申请提供一种用于执行所述接口自动化测试方法中全部或部分内容的接口自动化测试装置的实施例,参见图9,所述接口自动化测试装置具体包含有如下内容:
前置查找模块10,用于将当前用于采用目标测试用例进行自动化测试的初始接口确定为目标接口,针对所述目标接口执行前置接口查找步骤;其中,所述前置接口查找步骤包括:判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,若是,则标记该非空标志位中记载的前置接口,并将当前的所述目标接口更新为该前置接口后再次判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,直至所述目标接口的各个字段各自对应的标志位均为空标志位;
接口测试模块20,用于若存在已标记的前置接口,则在预设的目标测试环境中,基于所述目标测试用例对所述初始接口以及已标记的前置接口进行自动化测试。
本申请提供的接口自动化测试装置的实施例具体可以用于执行上述实施例中的接口自动化测试方法的实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
从上述描述可知,本申请实施例提供的接口自动化测试装置,通过判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,若是,则标记该非空标志位中记载的前置接口,并将当前的所述目标接口更新为该前置接口后再次判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,直至所述目标接口的各个字段各自对应的标志位均为空,能够从接口的角度出发,有效提高关联接口查找的自动化程度及智能化程度,且通过构建标志位,能够有效降低关联接口查找的数据量及数据冗余,并能够防止关联接口的遗漏或者错选,进而能够有效提高接口自动化测试过程的效率及自动化程度,有效节省人力资源和时间成本,并能够有效提高接口自动化测试的可靠性及有效性,提高测试人员的用户体验。
为了提高后续进行前置接口查找步骤的可靠性及效率,在本申请提供的接口自动化测试装置的一个实施例,参见图10,所述接口自动化测试装置还具体包含有如下内容:
标志位设置模块01,用于在所述将当前用于采用目标测试用例进行自动化测试的初始接口确定为目标接口之前,为业务***对应的各个接口各自对应的各个字段分别设置标志位,其中,所述标志位包括空标志位和非空标志位;所述非空标志位用于存储前置接口与字段之间的对应关系。
从上述描述可知,本申请实施例提供的接口自动化测试装置,通过预先设置空标志位和非空标志位,能够有效提高后续进行前置接口查找步骤的可靠性及效率,进而能够进一步提高接口自动化测试过程的效率及自动化程度,有效节省人力资源和时间成本,并能够有效提高接口自动化测试的可靠性及有效性。
为了提高自动批量审批的有效性及可靠性,在本申请提供的接口自动化测试装置的一个实施例,参见图11,所述前置查找模块10还用于在所述针对所述目标接口执行前置接口查找步骤之前,基于预设的编码规则,将所述初始接口进行编码;
相对应的,所述前置查找模块10包括编码单元11;
所述编码单元11用于基于所述编码规则,为所述非空标志位中记载的前置接口进行编码,使该前置接口的编码数值大于所述初始接口;其中,若该前置接口与所述初始接口之间还有其他接口,则该前置接口的编码数值大于其他接口的编码数值。
从上述描述可知,本申请实施例提供的接口自动化测试装置,通过为所述非空标志位中记载的前置接口进行编码,使该前置接口的编码数值大于所述初始接口;其中,若该前置接口与所述初始接口之间还有其他接口,则该前置接口的编码数值大于其他接口的编码数值,能够在标记非空标志位中记载的前置接口的过程中即实现对这些前置接口的编码操作,能够有效提高编码可靠性,防止遗漏;且使得这些前置接口的编码数值依次增大,进而能够有效提高后续执行测试用例的全面性、便捷性及可靠性,有效防止接口遗漏。
而在另一种实施例中,为了提高编码步骤的执行效率,在本申请提供的接口自动化测试装置的一个实施例,参见图12,还包括:
编码模块14,用于在所述在预设的目标测试环境中,基于所述目标测试用例对所述初始接口以及已标记的前置接口进行自动化测试之前,基于预设的编码规则,针对所述初始接口和其依次关联的各个前置接口,依次进行数值由小至大的编码,使得所述初始接口和其依次关联的各个前置接口各自对应唯一编码数值。
从上述描述可知,本申请实施例提供的接口自动化测试装置,通过在标记非空标志位中记载的前置接口的过程之后再针对所述初始接口和其依次关联的各个前置接口,依次进行数值由小至大的编码,能够有效提高编码步骤的执行效率,且使得这些关联接口的编码数值依次增大,进而能够有效提高后续执行测试用例的全面性、便捷性及可靠性,有效防止接口遗漏。
为了实现将所述初始接口以及已标记的前置接口的数据均写入所述目标测试用例并能够使得目标标测试用例已经根据各个接口的编号确定了执行顺序,在本申请提供的接口自动化测试装置的一个实施例,所述接口自动化测试装置中的接口测试模块20具体用于执行下述内容:
步骤210:若存在已标记的前置接口,则将所述初始接口以及已标记的前置接口的数据均写入所述目标测试用例。
步骤220:针对所述目标测试用例中值为空的用例字段,查找该用例字段对应接口的字段的标志位,若该标志位为非空标志位,则将该标志位中存储的前置字段对应的字段值确定为当前用例字段的目标值;若该标志位为空标志位,则将该用例字段的目标值设为空。
步骤230:针对所述目标测试用例中值为非空的用例字段,将该值确定为该用例字段的目标值。
步骤240:在预设的目标测试环境中,根据所述初始接口以及已标记的前置接口的编码数值,以编码数值由大至小的顺序,依次在各个所述已标记的前置接口和所述初始接口中执行所述目标测试用例对应的自动化测试任务。
从上述描述可知,本申请实施例提供的接口自动化测试装置,通过在标记非空标志位中记载的前置接口的过程之后再针对所述初始接口和其依次关联的各个前置接口,依次进行数值由小至大的编码,能够有效提高编码步骤的执行效率,且使得这些关联接口的编码数值依次增大,进而能够有效提高后续执行测试用例的全面性、便捷性及可靠性,有效防止接口遗漏。
为了进一步说明本方案,本申请应用实例提供一种接口自动化测试方法,在自动化测试平台上,对每个接口字段设置一个标志位,该标志位内容可以是空也可以是非空,当标志位内容非空时,其含义指向其依赖或所需的字段值;在自动化测试平台执行到该接口时,必须先执行其所需依赖的前置接口,获取依赖的字段值后,才会执行该接口。当一个接口中所有字段的标志位都为空时,才可以直接执行。本申请应用实例可以解决接口调用时的依赖问题,节省编写测试用例或者选择前置接口的时间,具体涉及计算机自动化测试技术领域。
为了减少上述因为人工操作带来的成本问题。本申请应用实例提供了一种自动化测试方法和装置,可以利用接口间的关系设定其自动查找所依赖的前置接口,并且通过复用有关联的字段值,减少人工设计测试用例的部分工作。同时,提供在线修改接口间依赖的功能,以便可以根据业务***需要灵活变更。另外,在选定测试环境时,提供网络连通性验证功能,以便提前发现测试环境问题。
参见图13,作为本申请应用实例的一个实施例,其所述自动化测试方法包含如下步骤:
步骤S101,选择测试接口,测试接口存在于测试接口库中,支持在线编辑。每个测试接口中具有请求地址路径、请求字段、响应字段、字段类型、标志位等信息。
步骤S102,选择测试用例,测试用例存在于测试用例库中,支持在线编辑。每个测试用例中具有请求字段值。
步骤S103,选择测试环境,测试环境存在于测试环境库中,支持在线编辑。测试环境中仅包含跟接口相关的网络地址信息。
步骤S104,将测试用例在对应的测试接口中执行,获取并展示测试结果。在执行时首先测试接口的各字段标志位,若存在不为空的标志位,则向上回溯,直至所有的测试接口标志位均为空。然后向下执行测试用例,并将测试结果返给需要的字段。
图14是执行测试用例的一个举例。执行测试接口时,根据标志位的指引,向上回溯依赖的接口并给每个接口编码,直至当前接口的字段标志位均为空。然后根据编码顺序,由大到小执行测试接口。
首先,给本测试接口编码为1,判断出本测试接口中存在3个不为空的标志位,其中两个标志位指向同一个测试接口,即此时测试接口1的前置测试接口有2个;然后给这两个前置接口分别编码为21、22,并检查其字段标志位,如有不为空的标志位,继续向上回溯并编码,直至当前的测试接口字段标志位均为空;最后根据得出的编码列表,按从大到小的编码顺序执行,并记录相应的测试结果。
参见图15,该自动化测试装置包含:接口管理模块151、用例管理模块152、环境管理模块153、测试结果管理模块154;下面将对上述模块的功能进行详细描述。
(1)接口管理模块151可通过导入或页面新增的方式添加测试接口。添加时除测试接口本身已有信息外,还需要为每个字段设置标志位,该标志位用以表示字段取值所依赖的其他接口字段。其格式为A:B,其中A代表所依赖的前置接口A,B代表接口字段。若该标志位为空,则表示该字段取值不依赖其他接口字段。
(2)用例管理模块152可通过导入或页面新增的方式添加测试用例。添加时测试用例中各字段值可以为空或非空。当执行测试用例时,对于测试用例中的非空字段,发送的请求数据等于测试用例中对应的值。对于测试用例中字段值为空的字段,则需要判断对应接口的字段标志位。若接口字段标志位为空,则执行测试用例时发送的请求中该字段值也为空。若接口字段标志位非空,则取字段标志位所代表接口的测试用例中对应的值。例如:假设接口A有个字段B,接口A的测试用例中B的值为“abc001”;接口C有个字段D,D的字段标志位为A:B,接口C的测试用例中D的值为空。则在执行C的测试用例时,其字段D的取值为“abc001”。当字段值为空时,需要检查该测试用例对应接口的字段标志位,若字段标志位非空时,其字段值等于标志位所代表的前置接口对应字段的值。字段内容即字段的值,就是测试用例中对应字段设置的值,或者该字段所依赖的前置测试用例对应的值。
(3)环境管理模块153可通过导入或页面新增的方式添加测试环境。添加时AICT不会验证与该测试环境之间的网络连通性。只有从环境管理库中选定测试环境进行自动化测试时,AICT才会验证与该测试环境之间的网络连通性,并根据验证结果给出相应提示。
(4)测试结果管理模块154负责获取测试接口的响应结果并以测试结果的形式展示。
基于此,本申请应用实例实现的方法包括:
获取被测***的接口及对应的测试用例信息,选择可用的测试环境,解析接口字段及测试用例信息,将测试用例内包含的信息发送至对应接口,获取接口的响应结果并以测试结果的形式展示。
接口信息存在于接口库中,可通过导入或手动输入的方式新增接口至接口库。每个新增的接口字段都包含一个标志位,用于表示该字段的值依赖标志位所表示的接口字段的值。
测试用例存在于测试用例库中,可通过导入或手动输入的方式新增测试用例至测试用例库。测试用例中各字段内容可以为空或非空。当字段内容为空且对应的接口字段标志位为空时,其字段值等于标志位所代表的前置接口对应字段的值。当字段内容非空时,其取值等于测试用例中定义的值。
测试环境存在于测试环境库中,可通过导入或手动输入的方式新增测试环境至测试环境库中。当选定测试环境时,首先判断该环境与AICT之间的网络连通性,只有网络可以连通的测试环境才能使用。
执行接口自动化测试时,对选定的接口,首先通过各字段标志位解析其所依赖的前置接口,若前置接口的字段标志位非空,则向上回溯直至当前接口所有字段标志位为空。然后从当前接口顺序执行,直至将选定的接口所需的依赖数据全部获取并写入到测试用例中。最后将测试用例包含的数据发送至选定接口中,获取接口的响应结果并以测试结果的形式展示。依赖数据是指与该选定的接口存在关联关系的所有的其他接口的数据,可以包含有这些接口的标识和对应的唯一编码;因为最后执行的初始接口是唯一的。它只需要一个测试用例。这个测试用例中的数据有些是依赖其他接口的数据。当这个初始接口被执行时,它的测试用例所依赖的数据是已经收集完整的。
具体来说,当选了一个接口执行测试用例时,先将其编码为1,若该接口存在一个或多个非空的字段标志位,需要逐个查找其字段标志位所指向的接口并逐层编码标记。循环这一过程,直到找到的接口中字段标志位都是空的。然后从编码最大的接口开始执行测试用例,直到执行到编码为1的接口。
从当前选定的接口开始,对每个需要向上回溯的接口进行编码,执行时按编码数字大小由大到小顺序执行。具体来说,测试用例在写入选定接口的依赖数据之后,形成了当前的目标测试用例,此时,目标测试用例已经根据各个接口的编号确定了执行顺序,因此在向上回溯接口的过程中,已经完成了所有涉及接口的编码工作;然后将该目标测试用例发送至编码最大的接口即可以实现各个接口的依次执行测试任务了,执行测试用例时按这个编码的数字大小,由大到小执行。
从硬件层面来说,为了解决现有的接口自动化测试方式中,需要采用人工操作或根据测试用例等挑选出与初始接口关联的其他接口,该种方式需要查找的数据量大且耗时长,挑选动作会耗费较多的人力资源和时间成本,也容易因为遗漏或者错选而影响测试结果等问题,本申请提供一种用于实现所述接口自动化测试方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
图16为本申请实施例的电子设备9600的***构成的示意框图。如图16所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图16是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
在一实施例中,接口自动化测试功能可以被集成到中央处理器中。其中,中央处理器可以被配置为进行如下控制:
步骤100:将当前用于采用目标测试用例进行自动化测试的初始接口确定为目标接口,针对所述目标接口执行前置接口查找步骤;其中,所述前置接口查找步骤包括:判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,若是,则标记该非空标志位中记载的前置接口,并将当前的所述目标接口更新为该前置接口后再次判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,直至所述目标接口的各个字段各自对应的标志位均为空标志位。
步骤200:若存在已标记的前置接口,则在预设的目标测试环境中,基于所述目标测试用例对所述初始接口以及已标记的前置接口进行自动化测试。
从上述描述可知,本申请实施例提供的电子设备,通过判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,若是,则标记该非空标志位中记载的前置接口,并将当前的所述目标接口更新为该前置接口后再次判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,直至所述目标接口的各个字段各自对应的标志位均为空,能够从接口的角度出发,有效提高关联接口查找的自动化程度及智能化程度,且通过构建标志位,能够有效降低关联接口查找的数据量及数据冗余,并能够防止关联接口的遗漏或者错选,进而能够有效提高接口自动化测试过程的效率及自动化程度,有效节省人力资源和时间成本,并能够有效提高接口自动化测试的可靠性及有效性,提高测试人员的用户体验。
在另一个实施方式中,接口自动化测试装置可以与中央处理器9100分开配置,例如可以将接口自动化测试装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现接口自动化测试功能。
如图16所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图16中所示的所有部件;此外,电子设备9600还可以包括图16中没有示出的部件,可以参考现有技术。
如图16所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本申请的实施例还提供能够实现上述实施例中的接口自动化测试方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的接口自动化测试方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤100:将当前用于采用目标测试用例进行自动化测试的初始接口确定为目标接口,针对所述目标接口执行前置接口查找步骤;其中,所述前置接口查找步骤包括:判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,若是,则标记该非空标志位中记载的前置接口,并将当前的所述目标接口更新为该前置接口后再次判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,直至所述目标接口的各个字段各自对应的标志位均为空标志位。
步骤200:若存在已标记的前置接口,则在预设的目标测试环境中,基于所述目标测试用例对所述初始接口以及已标记的前置接口进行自动化测试。
从上述描述可知,本申请实施例提供的计算机可读存储介质,通过判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,若是,则标记该非空标志位中记载的前置接口,并将当前的所述目标接口更新为该前置接口后再次判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,直至所述目标接口的各个字段各自对应的标志位均为空,能够从接口的角度出发,有效提高关联接口查找的自动化程度及智能化程度,且通过构建标志位,能够有效降低关联接口查找的数据量及数据冗余,并能够防止关联接口的遗漏或者错选,进而能够有效提高接口自动化测试过程的效率及自动化程度,有效节省人力资源和时间成本,并能够有效提高接口自动化测试的可靠性及有效性,提高测试人员的用户体验。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (12)
1.一种接口自动化测试方法,其特征在于,包括:
为业务***对应的各个接口各自对应的各个字段分别设置标志位,其中,所述标志位包括空标志位和非空标志位;所述非空标志位用于存储前置接口与字段之间的对应关系;
将当前用于采用目标测试用例进行自动化测试的初始接口确定为目标接口,针对所述目标接口执行前置接口查找步骤;
其中,所述前置接口查找步骤包括:判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,若是,则标记该非空标志位中记载的前置接口,并将当前的所述目标接口更新为该前置接口后再次判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,直至所述目标接口的各个字段各自对应的标志位均为空标志位;
基于预设的编码规则,针对所述初始接口和其依次关联的各个前置接口,依次进行数值由小至大的编码,使得所述初始接口和其依次关联的各个前置接口各自对应唯一编码数值;
若存在已标记的前置接口,则在预设的目标测试环境中,基于所述目标测试用例对所述初始接口以及已标记的前置接口进行自动化测试。
2.根据权利要求1所述的接口自动化测试方法,其特征在于,所述将当前用于采用目标测试用例进行自动化测试的初始接口确定为目标接口,针对所述目标接口执行前置接口查找步骤,包括:
接收针对业务***的接口测试请求,其中,该接口测试请求中包含有待测试接口的唯一标识、目标测试用例的唯一标识和目标测试环境的唯一标识;
根据所述目标测试用例的唯一标识自预设的测试用例库中选取该目标测试用例,根据所述目标测试环境的唯一标识自预设的测试环境库中查找该目标测试环境;
对所述目标测试环境进行网络连通性验证,若该网络连通性验证通过,则基于所述待测试接口的唯一标识确定当前测试的初始接口,并将该初始接口确定为目标接口,针对所述目标接口执行前置接口查找步骤。
3.根据权利要求2所述的接口自动化测试方法,其特征在于,在所述接收针对业务***的接口测试请求之前,还包括:
将所述业务***对应的各个测试用例和各个所述测试用例的唯一标识存储至用于在线编辑的测试用例库,并将业务***对应的各个测试环境和各个所述测试环境的唯一标识存储至用于在线编辑的测试环境库,所述测试环境包括对应的网络地址信息。
4.根据权利要求3所述的接口自动化测试方法,其特征在于,还包括:
以导入或页面新增的方式在所述测试用例库中添加测试用例,且所述测试用例中的各个字段的值可以为空或非空。
5.根据权利要求3所述的接口自动化测试方法,其特征在于,还包括:
以导入或页面新增的方式在所述测试环境库中直接添加未进行网络连通性验证的测试环境。
6.根据权利要求1所述的接口自动化测试方法,其特征在于,在所述针对所述目标接口执行前置接口查找步骤之前,还包括:
基于预设的编码规则,将所述初始接口进行编码;
相对应的,所述标记该非空标志位中记载的前置接口,包括:
基于所述编码规则,为所述非空标志位中记载的前置接口进行编码,使该前置接口的编码数值大于所述初始接口;其中,若该前置接口与所述初始接口之间还有其他接口,则该前置接口的编码数值大于其他接口的编码数值。
7.根据权利要求6所述的接口自动化测试方法,其特征在于,所述若存在已标记的前置接口,则在预设的目标测试环境中,基于所述目标测试用例对所述初始接口以及已标记的前置接口进行自动化测试,包括:
若存在已标记的前置接口,则将所述初始接口以及已标记的前置接口的数据均写入所述目标测试用例;
针对所述目标测试用例中值为空的用例字段,查找该用例字段对应接口的字段的标志位,若该标志位为非空标志位,则将该标志位中存储的前置字段对应的字段值确定为当前用例字段的目标值;若该标志位为空标志位,则将该用例字段的目标值设为空;
针对所述目标测试用例中值为非空的用例字段,将该值确定为该用例字段的目标值;
在预设的目标测试环境中,根据所述初始接口以及已标记的前置接口的编码数值,以编码数值由大至小的顺序,依次在各个所述已标记的前置接口和所述初始接口中执行所述目标测试用例对应的自动化测试任务。
8.一种接口自动化测试装置,其特征在于,包括:
标志位设置模块,用于为业务***对应的各个接口各自对应的各个字段分别设置标志位,其中,所述标志位包括空标志位和非空标志位;所述非空标志位用于存储前置接口与字段之间的对应关系;
前置查找模块,用于将当前用于采用目标测试用例进行自动化测试的初始接口确定为目标接口,针对所述目标接口执行前置接口查找步骤;
其中,所述前置接口查找步骤包括:判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,若是,则标记该非空标志位中记载的前置接口,并将当前的所述目标接口更新为该前置接口后再次判断当前的目标接口的各个字段各自对应的标志位中是否存在非空标志位,直至所述目标接口的各个字段各自对应的标志位均为空标志位;
编码模块,用于基于预设的编码规则,针对所述初始接口和其依次关联的各个前置接口,依次进行数值由小至大的编码,使得所述初始接口和其依次关联的各个前置接口各自对应唯一编码数值;
接口测试模块,用于若存在已标记的前置接口,则在预设的目标测试环境中,基于所述目标测试用例对所述初始接口以及已标记的前置接口进行自动化测试。
9.根据权利要求8所述的接口自动化测试装置,其特征在于,所述前置查找模块还用于在所述针对所述目标接口执行前置接口查找步骤之前,基于预设的编码规则,将所述初始接口进行编码;
相对应的,所述前置查找模块包括编码单元;
所述编码单元用于基于所述编码规则,为所述非空标志位中记载的前置接口进行编码,使该前置接口的编码数值大于所述初始接口;其中,若该前置接口与所述初始接口之间还有其他接口,则该前置接口的编码数值大于其他接口的编码数值。
10.根据权利要求9所述的接口自动化测试装置,其特征在于,所述接口测试模块,用于执行下述内容:
若存在已标记的前置接口,则将所述初始接口以及已标记的前置接口的数据均写入所述目标测试用例;
针对所述目标测试用例中值为空的用例字段,查找该用例字段对应接口的字段的标志位,若该标志位为非空标志位,则将该标志位中存储的前置字段对应的字段值确定为当前用例字段的目标值;若该标志位为空标志位,则将该用例字段的目标值设为空;
针对所述目标测试用例中值为非空的用例字段,将该值确定为该用例字段的目标值;
在预设的目标测试环境中,根据所述初始接口以及已标记的前置接口的编码数值,以编码数值由大至小的顺序,依次在各个所述已标记的前置接口和所述初始接口中执行所述目标测试用例对应的自动化测试任务。
11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的接口自动化测试方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7任一项所述的接口自动化测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111266757.1A CN113791984B (zh) | 2021-10-28 | 2021-10-28 | 接口自动化测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111266757.1A CN113791984B (zh) | 2021-10-28 | 2021-10-28 | 接口自动化测试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113791984A CN113791984A (zh) | 2021-12-14 |
CN113791984B true CN113791984B (zh) | 2023-06-09 |
Family
ID=78878318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111266757.1A Active CN113791984B (zh) | 2021-10-28 | 2021-10-28 | 接口自动化测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113791984B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115292205B (zh) * | 2022-10-08 | 2022-12-09 | 四川无限智达科技有限公司 | 接口的关系拓扑图生成方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857667A (zh) * | 2019-02-03 | 2019-06-07 | 苏州市龙测智能科技有限公司 | 接口自动化测试方法、测试装置、测试设备及存储介质 |
CN112162924A (zh) * | 2020-09-27 | 2021-01-01 | 平安信托有限责任公司 | 接口自动化测试方法、装置、计算机设备及存储介质 |
-
2021
- 2021-10-28 CN CN202111266757.1A patent/CN113791984B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109857667A (zh) * | 2019-02-03 | 2019-06-07 | 苏州市龙测智能科技有限公司 | 接口自动化测试方法、测试装置、测试设备及存储介质 |
CN112162924A (zh) * | 2020-09-27 | 2021-01-01 | 平安信托有限责任公司 | 接口自动化测试方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113791984A (zh) | 2021-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110413528B (zh) | 测试环境智能配置方法及*** | |
CN112463634B (zh) | 微服务架构下的软件测试方法及装置 | |
CN110990228A (zh) | 数据接口监控方法及装置 | |
CN112615753A (zh) | 一种链路异常追踪方法、第一节点、第二节点以及链路 | |
CN111679811B (zh) | Web服务构建方法及装置 | |
CN114785685A (zh) | 软件差分升级方法、装置、电子设备及可读存储介质 | |
US20170132001A1 (en) | Code based configuration of mobile devices | |
CN112784112A (zh) | 报文校验方法及装置 | |
CN111679790A (zh) | 远程软件开发存储空间分配方法及装置 | |
CN113791984B (zh) | 接口自动化测试方法及装置 | |
CN113050985B (zh) | 前端工程依赖自动注册方法及装置 | |
CN114153856A (zh) | 主机数据双写方法及装置 | |
CN112396511A (zh) | 分布式风控变量数据处理方法、装置及*** | |
CN113515447B (zh) | ***自动化测试方法及装置 | |
CN115495519A (zh) | 报表数据加工方法及装置 | |
CN114637531A (zh) | 应用程序接口动态生成方法及装置 | |
CN113050936B (zh) | 基于集成开发环境的前端数据处理方法及装置 | |
CN114968917A (zh) | 一种文件数据快速导入方法及装置 | |
CN114490402A (zh) | 一种报文字段合法性检查方法及装置 | |
CN114374614A (zh) | 网络拓扑配置方法及装置 | |
CN112102058A (zh) | 管会***参数配置方法及装置 | |
CN112766827A (zh) | 资产盘点数据自动化处理方法及装置 | |
CN111695936B (zh) | 信息绑定方法、装置及设备 | |
CN111158744B (zh) | 跨平台异构数据的整合方法及装置 | |
CN113050937A (zh) | 基于命令行的前端数据处理方法及装置 |
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 |