一种接口测试方法、装置、设备及介质与流程

    专利2022-07-08  94


    本申请涉及测试技术领域,特别涉及一种接口测试方法、装置、设备、介质。



    背景技术:

    自动化测试是目前的热门话题,更是软件测试未来的一个发展趋势。且自动化测试可以提高在软件测试领域的竞争力。目前,主要的自动化测试都是以传统的testng为框架的接口自动化测试,或是使用postman、jmeter工具进行接口执行测试。但是,以testng为框架的接口自动化测试管理比较复杂,一旦需要调整参数等就需要修改代码,导致测试工作复杂,且代码复用率低。而postman等工具不能批量管理接口参数,使得测试效率低。



    技术实现要素:

    有鉴于此,本申请的目的在于提供一种接口测试方法、装置、设备、介质,能够降低测试工作复杂度,提高代码复用率,以及进行接口批量测试,提高了测试效率。其具体方案如下:

    第一方面,本申请公开了一种接口测试方法,包括:

    修改接口自动化测试框架,以便所述接口自动化测试框架在进行接口测试时读取预设路径下的参数文件;

    基于所述参数文件执行待执行的接口脚本,得到所述接口脚本的返回值;

    将所述返回值写到所述参数文件中。

    可选地,所述修改接口自动化测试框架,包括:

    获取所述预设路径;

    将所述预设路径写入所述接口自动化测试框架中。

    可选地,所述基于所述参数文件执行待执行的接口脚本,得到所述接口脚本的返回值之前,还包括:

    获取所述参数文件,其中,所述参数文件中包括各个所述待执行的接口脚本对应的数据,各个所述待执行的接口脚本对应的数据包括接口标识、接口url、请求方法、同一接口下的参数标识、测试参数、期望测试数据,所述同一接口下的参数标识表示同一个接口对应的不同测试参数;

    将所述参数文件存储在所述预设路径之下。

    可选地,所述将所述返回值写到所述参数文件中之后,还包括:

    将所述返回值和对应的所述期望测试数据进行比对;

    如果所述返回值和对应的期望测试数据不一致,则对不一致的返回值和对应的期望测试数据进行失败原因分析。

    可选地,所述基于所述参数文件执行待执行的接口脚本,得到所述接口脚本的返回值,包括:

    根据待执行的接口脚本的接口标识从所述参数文件中读取出对应的测试参数;

    基于读取出的测试参数执行所述接口脚本,得到所述接口脚本的返回值。

    可选地,所述根据待执行的接口脚本的接口标识从所述参数文件中读取出对应的测试参数,包括:

    根据待执行的接口脚本的接口标识从所述参数文件中确定出对应的测试参数,按照确定出的各个测试参数对应的同一接口下的参数标识逐一读取出各个确定出的测试参数。

    可选地,所述参数文件为excel文件或csv文件或xml文件。

    第二方面,本申请公开了一种接口测试装置,包括:

    框架修改模块,用于修改接口自动化测试框架,以便所述接口自动化测试框架在进行接口测试时读取预设路径下的参数文件;

    脚本执行模块,用于基于所述参数文件执行待执行的接口脚本,得到所述接口脚本的返回值;

    数据写入模块,用于将所述返回值写到所述参数文件中。

    第三方面,本申请公开了一种电子设备,包括:

    存储器和处理器;

    其中,所述存储器,用于存储计算机程序;

    所述处理器,用于执行所述计算机程序,以实现前述公开的接口测试方法。

    第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的接口测试方法。

    可见,本申请需要先修改接口自动化测试框架,以便所述接口自动化测试框架在进行接口测试时读取预设路径下的参数文件,然后便可以基于所述参数文件执行待执行的接口脚本,得到所述接口脚本的返回值,再将所述返回值写到所述参数文件中。由此可见,本申请先对接口自动化测试框架进行修改,使得所述接口自动化测试框架在进行接口测试时可以读取预设路径下的参数文件,然后基于所述参数文件执行待执行的接口脚本,便可以得到所述接口脚本的返回值,再将所述返回值写到所述参数文件中,这样修改参数时,只需要修改所述参数文件中的参数,不需要在调整参数的时候直接修改接口代码,提高了代码复用率,且降低了测试工作复杂度,此外,所述参数文件中包括各个待执行的接口脚本的参数,以便进行接口批量测试,提高了测试效率。

    附图说明

    为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

    图1为本申请公开的一种接口测试方法流程图;

    图2为本申请公开的一种参数文件截图;

    图3为本申请公开的一种具体的接口测试方法流程图;

    图4为本申请公开的一种具体的接口测试方法流程图;

    图5为本申请公开的一种接口测试装置结构示意图;

    图6为本申请公开的一种电子设备结构示意图。

    具体实施方式

    下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

    目前,主要的自动化测试都是以传统的testng为框架的接口自动化测试,或是使用postman、jmeter工具进行接口执行测试。但是,以testng为框架的接口自动化测试管理比较复杂,一旦需要调整参数等就需要修改代码,导致测试工作复杂,且代码复用率低。而postman等工具不能批量管理接口参数,使得测试效率低。有鉴于此,本申请提出了一种接口测试方法,能够降低测试工作复杂度,提高代码复用率,以及进行接口批量测试,提高了测试效率。

    参见图1所示,本申请实施例公开了一种接口测试方法,该方法包括:

    步骤s11:修改接口自动化测试框架,以便所述接口自动化测试框架在进行接口测试时读取预设路径下的参数文件。

    在具体的实施过程中,需要先对接口自动化测试框架进行修改,以便所述接口自动化测试框架在进行接口测试时读取预设路径下的参数文件。现有的接口自动化测试框架在接口测试时,需要读取各个待执行的接口脚本对应的配置文件,每一个待执行的接口脚本会有自己的配置文件,所以在测试时,需要分别读取对应的配置文件,而本申请中需要先对接口自动化测试框架进行修改,使得在进行测试时,可以直接读取预设路径之下的参数文件,所述参数文件中包括各个待执行的接口脚本的参数,每个待执行的接口脚本对应一个接口标识,一个接口标识可以对应多个同一接口下的参数标识,同一接口下的参数标识表示同一个接口对应的多个参数。这样某一待执行的接口脚本批跑并读取参数文件中的参数时,每个接口对应同一接口标识,会将该接口标识下的参数逐行执行。

    具体的,所述修改接口自动化测试框架可以先获取所述预设路径,然后将所述预设路径写入所述接口自动化测试框架中。这样在设置好所述参数文件之后,将所述参数文件存储到所述预设路径下即可。其中,可以对testng框架进行修改,以便修改之后的testng框架在进行接口测试时读取预设路径下的参数文件。

    步骤s12:基于所述参数文件执行待执行的接口脚本,得到所述接口脚本的返回值。

    可以理解的是,在修改所述接口自动化测试框架之后,还需要基于所述参数文件执行待执行的接口脚本,以得到所述接口脚本在所述参数文件中的对应接口标识下的各个参数值对应的返回值。

    相应地,就需要先编写待执行的接口脚本,其中,编写的接口脚本需要满足以下几个功能,包括:测试时需要用到的参数信息直接读取预设路径下的参数文件中的数据,不再使用配置文件中的参数;批量执行规定目录下的所有待执行的接口脚本时,执行过程中使用参数文件中的参数;批量执行完成后,返回值统一回写到参数文件对应的参数行中。

    在具体的实施过程中,基于所述参数文件执行待执行的接口脚本,得到所述接口脚本的返回值之前,还包括:获取所述参数文件,其中,所述参数文件中包括各个所述待执行的接口脚本对应的数据,各个所述待执行的接口脚本对应的数据包括接口标识、接口url(uniformresourcelocator,统一资源定位器)、请求方法、同一接口下的参数标识、测试参数、期望测试数据,所述同一接口下的参数标识表示同一个接口对应的不同测试参数;将所述参数文件存储在所述预设路径之下。其中,所述参数文件为excel文件或csv文件或xml文件。

    参见图2所示,为参数文件截图。接口id(接口标识)为1的参数有4条,对应的同一接口下的参数id分别为1至4。接口id为2的参数有1条。返回值一列写入各条参数对应的返回值,将返回值和期望数据进行比对之后,看是否一致,如果不一致,则在“是否正确”一列写入“不正确”,如果一致,则在“是否正确”一列写入“正确”。

    在基于所述参数文件执行待执行的接口脚本,得到所述接口脚本的返回值,包括:根据待执行的接口脚本的接口标识从所述参数文件中读取出对应的测试参数;基于读取出的测试参数执行所述接口脚本,得到所述接口脚本的返回值。

    其中,根据待执行的接口脚本的接口标识从所述参数文件中读取出对应的测试参数,包括:根据待执行的接口脚本的接口标识从所述参数文件中确定出对应的测试参数,按照确定出的各个测试参数对应的同一接口下的参数标识逐一读取出各个确定出的测试参数。

    步骤s13:将所述返回值写到所述参数文件中。

    可以理解的是,执行所述待执行的接口脚本之后,还需要将得到的返回值写到所述参数文件中。

    可见,本申请需要先修改接口自动化测试框架,以便所述接口自动化测试框架在进行接口测试时读取预设路径下的参数文件,然后便可以基于所述参数文件执行待执行的接口脚本,得到所述接口脚本的返回值,再将所述返回值写到所述参数文件中。由此可见,本申请先对接口自动化测试框架进行修改,使得所述接口自动化测试框架在进行接口测试时可以读取预设路径下的参数文件,然后基于所述参数文件执行待执行的接口脚本,便可以得到所述接口脚本的返回值,再将所述返回值写到所述参数文件中,这样修改参数时,只需要修改所述参数文件中的参数,不需要在调整参数的时候直接修改接口代码,提高了代码复用率,且降低了测试工作复杂度,此外,所述参数文件中包括各个待执行的接口脚本的参数,以便进行接口批量测试,提高了测试效率。

    参见图3所示,本申请实施例公开了一种具体的接口测试方法,该方法包括:

    步骤s21:修改接口自动化测试框架,以便所述接口自动化测试框架在进行接口测试时读取预设路径下的参数文件。

    步骤s22:基于所述参数文件执行待执行的接口脚本,得到所述接口脚本的返回值。

    步骤s23:将所述返回值写到所述参数文件中。

    步骤21至步骤s22的具体实施过程可以参考前述实施例中公开的内容,在此不再进行具体赘述。

    步骤s24:将所述返回值和对应的所述期望测试数据进行比对。

    步骤s25:如果所述返回值和对应的期望测试数据不一致,则对不一致的返回值和对应的期望测试数据进行失败原因分析。

    在将所述返回值写入到所述参数文件中之后,还需要将所述返回值和对应的所述期望测试数据进行比对;如果所述返回值和对应的期望测试数据不一致,则对不一致的返回值和对应的期望测试数据进行失败原因分析。

    也即,将返回值写入到所述参数文件中之后,需要对所述返回值和期望测试数据进行比对,如果返回值和对应的期望测试数据不一致,则表示对应的测试不正确,需要分析对应的原因,所以需要对不一致的返回值和对应的期望测试数据进行失败原因分析,以便对相应的接口脚本进行改进处理。

    参见图4所示,为接口测试方法流程图。首先对接口自动化测试框架进行修改,并编写接口自动化,也即编写待执行的接口脚本。以及进行excel内测试数据准备,接着便可以读取excel中的数据,批量执行对应的接口脚本,回写返回值至excel中,导出excel中的数据,将返回值和期望测试数据进行对比分析。

    参见图5所示,本申请实施例公开了一种接口测试装置,包括:

    框架修改模块11,用于修改接口自动化测试框架,以便所述接口自动化测试框架在进行接口测试时读取预设路径下的参数文件;

    脚本执行模块12,用于基于所述参数文件执行待执行的接口脚本,得到所述接口脚本的返回值;

    数据写入模块13,用于将所述返回值写到所述参数文件中。

    可见,本申请需要先修改接口自动化测试框架,以便所述接口自动化测试框架在进行接口测试时读取预设路径下的参数文件,然后便可以基于所述参数文件执行待执行的接口脚本,得到所述接口脚本的返回值,再将所述返回值写到所述参数文件中。由此可见,本申请先对接口自动化测试框架进行修改,使得所述接口自动化测试框架在进行接口测试时可以读取预设路径下的参数文件,然后基于所述参数文件执行待执行的接口脚本,便可以得到所述接口脚本的返回值,再将所述返回值写到所述参数文件中,这样修改参数时,只需要修改所述参数文件中的参数,不需要在调整参数的时候直接修改接口代码,提高了代码复用率,且降低了测试工作复杂度,此外,所述参数文件中包括各个待执行的接口脚本的参数,以便进行接口批量测试,提高了测试效率。

    在一些具体的实施例中,所述框架修改模块11,用于获取所述预设路径;将所述预设路径写入所述接口自动化测试框架中。

    在一些具体的实施例中,所述接口测试装置,还包括:

    参数设置模块,用于:获取所述参数文件,其中,所述参数文件中包括各个所述待执行的接口脚本对应的数据,各个所述待执行的接口脚本对应的数据包括接口标识、接口url、请求方法、同一接口下的参数标识、测试参数、期望测试数据,所述同一接口下的参数标识表示同一个接口对应的不同测试参数;将所述参数文件存储在所述预设路径之下。

    在一些具体的实施例中,所述接口测试装置,还包括:

    数据分析模块,用于将所述返回值和对应的所述期望测试数据进行比对;如果所述返回值和对应的期望测试数据不一致,则对不一致的返回值和对应的期望测试数据进行失败原因分析。

    在一些具体的实施例中,所述脚本执行模块12,用于:根据待执行的接口脚本的接口标识从所述参数文件中读取出对应的测试参数;基于读取出的测试参数执行所述接口脚本,得到所述接口脚本的返回值。

    在一些具体的实施例中,所述脚本执行模块12,用于:根据待执行的接口脚本的接口标识从所述参数文件中确定出对应的测试参数,按照确定出的各个测试参数对应的同一接口下的参数标识逐一读取出各个确定出的测试参数。

    在一些具体的实施例中,所述参数文件为excel文件或csv文件或xml文件。

    进一步的,参见图6所示,本申请实施例还公开了一种电子设备,包括:处理器21和存储器22。

    其中,所述存储器22,用于存储计算机程序;所述处理器21,用于执行所述计算机程序,以实现前述实施例中公开的接口测试方法。

    其中,关于上述接口测试方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。

    进一步的,本申请实施例还公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现以下步骤:

    修改接口自动化测试框架,以便所述接口自动化测试框架在进行接口测试时读取预设路径下的参数文件;基于所述参数文件执行待执行的接口脚本,得到所述接口脚本的返回值;将所述返回值写到所述参数文件中。

    可见,本申请需要先修改接口自动化测试框架,以便所述接口自动化测试框架在进行接口测试时读取预设路径下的参数文件,然后便可以基于所述参数文件执行待执行的接口脚本,得到所述接口脚本的返回值,再将所述返回值写到所述参数文件中。由此可见,本申请先对接口自动化测试框架进行修改,使得所述接口自动化测试框架在进行接口测试时可以读取预设路径下的参数文件,然后基于所述参数文件执行待执行的接口脚本,便可以得到所述接口脚本的返回值,再将所述返回值写到所述参数文件中,这样修改参数时,只需要修改所述参数文件中的参数,不需要在调整参数的时候直接修改接口代码,提高了代码复用率,且降低了测试工作复杂度,此外,所述参数文件中包括各个待执行的接口脚本的参数,以便进行接口批量测试,提高了测试效率。

    本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:获取所述预设路径;将所述预设路径写入所述接口自动化测试框架中。

    本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:获取所述参数文件,其中,所述参数文件中包括各个所述待执行的接口脚本对应的数据,各个所述待执行的接口脚本对应的数据包括接口标识、接口url、请求方法、同一接口下的参数标识、测试参数、期望测试数据,所述同一接口下的参数标识表示同一个接口对应的不同测试参数;将所述参数文件存储在所述预设路径之下

    本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:将所述返回值和对应的所述期望测试数据进行比对;如果所述返回值和对应的期望测试数据不一致,则对不一致的返回值和对应的期望测试数据进行失败原因分析。

    本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:根据待执行的接口脚本的接口标识从所述参数文件中读取出对应的测试参数;基于读取出的测试参数执行所述接口脚本,得到所述接口脚本的返回值。

    本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:根据待执行的接口脚本的接口标识从所述参数文件中确定出对应的测试参数,按照确定出的各个测试参数对应的同一接口下的参数标识逐一读取出各个确定出的测试参数。

    本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,所述参数文件为excel文件或csv文件或xml文件。

    本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

    结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

    最后,还需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得一系列包含其他要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

    以上对本申请所提供的一种接口测试方法、装置、设备、介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。


    技术特征:

    1.一种接口测试方法,其特征在于,包括:

    修改接口自动化测试框架,以便所述接口自动化测试框架在进行接口测试时读取预设路径下的参数文件;

    基于所述参数文件执行待执行的接口脚本,得到所述接口脚本的返回值;

    将所述返回值写到所述参数文件中。

    2.根据权利要求1所述的接口测试方法,其特征在于,所述修改接口自动化测试框架,包括:

    获取所述预设路径;

    将所述预设路径写入所述接口自动化测试框架中。

    3.根据权利要求1所述的接口测试方法,其特征在于,所述基于所述参数文件执行待执行的接口脚本,得到所述接口脚本的返回值之前,还包括:

    获取所述参数文件,其中,所述参数文件中包括各个所述待执行的接口脚本对应的数据,各个所述待执行的接口脚本对应的数据包括接口标识、接口url、请求方法、同一接口下的参数标识、测试参数、期望测试数据,所述同一接口下的参数标识表示同一个接口对应的不同测试参数;

    将所述参数文件存储在所述预设路径之下。

    4.根据权利要求3所述的接口测试方法,其特征在于,所述将所述返回值写到所述参数文件中之后,还包括:

    将所述返回值和对应的所述期望测试数据进行比对;

    如果所述返回值和对应的期望测试数据不一致,则对不一致的返回值和对应的期望测试数据进行失败原因分析。

    5.根据权利要求3所述的接口测试方法,其特征在于,所述基于所述参数文件执行待执行的接口脚本,得到所述接口脚本的返回值,包括:

    根据待执行的接口脚本的接口标识从所述参数文件中读取出对应的测试参数;

    基于读取出的测试参数执行所述接口脚本,得到所述接口脚本的返回值。

    6.根据权利要求5所述的接口测试方法,其特征在于,所述根据待执行的接口脚本的接口标识从所述参数文件中读取出对应的测试参数,包括:

    根据待执行的接口脚本的接口标识从所述参数文件中确定出对应的测试参数,按照确定出的各个测试参数对应的同一接口下的参数标识逐一读取出各个确定出的测试参数。

    7.根据权利要求1至6任一项所述的接口测试方法,其特征在于,所述参数文件为excel文件或csv文件或xml文件。

    8.一种接口测试装置,其特征在于,包括:

    框架修改模块,用于修改接口自动化测试框架,以便所述接口自动化测试框架在进行接口测试时读取预设路径下的参数文件;

    脚本执行模块,用于基于所述参数文件执行待执行的接口脚本,得到所述接口脚本的返回值;

    数据写入模块,用于将所述返回值写到所述参数文件中。

    9.一种电子设备,其特征在于,包括:

    存储器和处理器;

    其中,所述存储器,用于存储计算机程序;

    所述处理器,用于执行所述计算机程序,以实现权利要求1至7任一项所述的接口测试方法。

    10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的接口测试方法。

    技术总结
    本申请公开了一种接口测试方法、装置、设备、介质,该方法包括:修改接口自动化测试框架,以便所述接口自动化测试框架在进行接口测试时读取预设路径下的参数文件;基于所述参数文件执行待执行的接口脚本,得到所述接口脚本的返回值;将所述返回值写到所述参数文件中。这样修改参数时,只需要修改所述参数文件中的参数,不需要在调整参数的时候直接修改接口代码,提高了代码复用率,且降低了测试工作复杂度,此外,所述参数文件中包括各个待执行的接口脚本的参数,以便进行接口批量测试,提高了测试效率。

    技术研发人员:郭燕;范渊;苗春雨
    受保护的技术使用者:杭州安恒信息技术股份有限公司
    技术研发日:2020.11.26
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-22606.html

    最新回复(0)