用于测试接口的状态码校验的方法及设备与流程

文档序号:11406954阅读:341来源:国知局
用于测试接口的状态码校验的方法及设备与流程

本申请涉及计算机领域,尤其涉及一种用于测试接口的状态码校验的方法及设备。



背景技术:

随着测试行业的发展,先后出现了功能测试、性能测试和自动化测试,目前,大部分平台的架构已经不再是传统的mvc结构,系统不断向着分布式、业务中心化和高可用性的方向发展,如今的系统架构纷繁复杂,系统间的接口庞杂繁多,传统的功能测试、性能测试和自动化测试已经难以满足系统发展的需求,迫切需要一种更加有效实用且可以持续进行的测试方式来保证系统的质量,传统的接口测试主要针对单个接口的测试,无法进行多个接口的联动测试以及无法传递前置接口的返回数据,不易测试和快速迭代。

目前,出现的postman,是能适应大部分业务场景,方便快捷的一个接口测试工具,整体架构思路的流程图如图1所示,首先配置登录接口参数,登录成功后从服务器获取sid(sessionid,会话的唯一标识)作为可靠会话标记,接着,手动复制sid到被测接口的消息头(headers)中,其他参数正常写入,发送请求,执行完毕后,获取接口返回数据并返回,查看接口返回数据是否为预期结果。上述架构,需要手动配置过多参数,人工去查看接口返回数据是否为预期结果,没有清晰高效的状态码校验。

申请内容

本申请的一个目的是提供一种用于测试接口的状态码校验的方法及设备,解决现有技术中无消息体中状态码的校验问题。

根据本申请的一个方面,提供了一种用于测试接口的状态码校验的方法,所述方法包括:

基于测试接口调用登录接口的请求确定调用的登录接口反馈的状态码;

根据预设的状态码对所述反馈的状态码进行校验,得到校验结果;

根据所述校验结果判断是否从所述测试接口的请求消息中获取用于验证测试结果的消息体。

进一步地,基于测试接口调用登录接口的请求确定调用的登录接口反馈的状态码之前,包括:

获取所述测试接口的测试请求;

根据所述测试接口的测试请求确定所述测试接口调用的登录接口;

根据所述调用的登录接口确定所述配置文件。

进一步地,基于测试接口调用登录接口的请求确定调用的登录接口反馈的状态码,包括:

基于测试接口调用登录接口的请求确定调用的登录接口对应的配置文件;

根据所述配置文件中的账号从所述本地文件中获取所述调用的登录接口对应的会话唯一标识信息;

根据所述调用的登录接口的处理状态确定反馈的状态码。

进一步地,根据所述校验结果判断是否从所述测试接口的请求消息中获取用于验证测试结果的消息体,包括:

若校验结果为所述调用的登录接口正确处理,则从所述测试接口的请求消息中获取用于验证测试结果的消息体。

进一步地,根据所述校验结果判断是否从所述测试接口的请求消息中获取用于验证测试结果的消息体,包括:

若校验结果为所述调用的登录接口的会话唯一标识的有效期已过期,则发送所述调用的登录接口重新登录的请求。

进一步地,发送所述调用的登录接口重新登录的请求之后,包括:

根据所述重新登录的请求所在的环境、端口名称生成登录参数及加密信息;

根据所述登录参数及加密信息进行登录,并获取本地文件中存储的所述调用的登录接口的会话唯一标识。

进一步地,根据所述校验结果判断是否从所述测试接口的请求消息中获取用于验证测试结果的消息体,包括:

若校验结果为所述调用的登录接口未正确处理,且所述调用的登录接口的会话唯一标识的有效期未过期,则获取报错信息。

进一步地,获取报错信息之后,包括:

根据所述报错信息判断所述测试接口是否测试成功。

根据本申请另一个方面,还提供了一种用于测试接口的状态码校验的设备,所述设备包括:

确定装置,用于基于测试接口调用登录接口的请求确定调用的登录接口反馈的状态码;

校验装置,用于根据预设的状态码对所述反馈的状态码进行校验,得到校验结果;

判断装置,用于根据所述校验结果从所述测试接口的请求消息中获取用于验证测试结果的消息体。

进一步地,所述设备包括:

获取请求装置,用于获取所述测试接口的测试请求;

调用装置,用于根据所述测试接口的测试请求确定所述测试接口调用的登录接口;

查询装置,用于根据所述调用的登录接口确定所述配置文件。

进一步地,所述确定装置用于:

基于测试接口调用登录接口的请求确定调用的登录接口对应的配置文件;

根据所述配置文件中的账号从所述本地文件中获取所述调用的登录接口对应的会话唯一标识信息;

根据所述调用的登录接口的处理状态确定反馈的状态码。

进一步地,所述判断装置用于:

若校验结果为所述调用的登录接口正确处理,则从所述测试接口的请求消息中获取用于验证测试结果的消息体。

进一步地,所述判断装置用于:

若校验结果为所述调用的登录接口的会话唯一标识的有效期已过期,则发送所述调用的登录接口重新登录的请求。

进一步地,所述判断装置用于:

根据所述重新登录的请求所在的环境、端口名称生成登录参数及加密信息;

根据所述登录参数及加密信息进行登录,并获取本地文件中存储的所述调用的登录接口的会话唯一标识。

进一步地,所述判断装置用于:

报错装置,用于若校验结果为所述调用的登录接口未正确处理,且所述调用的登录接口的会话唯一标识的有效期未过期,则获取报错信息。

进一步地,所述判断装置用于:

根据所述报错信息判断所述测试接口是否测试成功。

与现有技术相比,本申请通过基于测试接口调用登录接口的请求确定调用的登录接口反馈的状态码;根据预设的状态码对所述反馈的状态码进行校验,得到校验结果;根据所述校验结果判断是否从所述测试接口的请求消息中获取用于验证测试结果的消息体。从而根据对状态码的校验,得到不同的校验结果,从而执行不同的逻辑,是否可以获取到请求消息中的消息体,可以根据所属报错类型的状态码,自动关联到报错信息列表,在报错信息列表中查找并返回对应的具体的报错信息,其中,具体的报错信息包含错误原因以及对应的解决方法,从而引导测试人员从不同的场景下进行高效、快捷的接口测试。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1示出现有技术中接口测试的架构示意图;

图2示出本申请一实施例中高效分层服务器端的接口架构示意图;

图3示出根据本申请的一个方面提供的一种用于测试接口的状态码校验的方法流程示意图;

图4示出本申请一实施例中消息头中状态码的校验的流程示意图;

图5示出根据本申请的另一个方面提供的一种用于测试接口的状态码校验的设备结构示意图。

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

下面结合附图对本申请作进一步详细描述。

在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

图2示出本申请一实施例中高效分层服务器端的接口架构示意图;首先运行脚本,载入环境、统一资源定位符(url)、端口名称、账号、请求参数、断言条件、结构化查询语句(sql语句);接着,载入配置文件,根据账号,取出本地文件存放的会话唯一标识(sid),载入加密模板生成加密信息,根据传入参数自动生成合法的消息头(header),请求接口后,通过分析服务器返回内容来判断接口是否正确处理该请求,若是,则取出消息体(body)内容,当传入sql语句时连接相应数据库,执行sql语句,返回查询结果加工为json格式,通过遍历键(key)的方式校验对应的值(value)是否正确,若正确,则测试通过,若失败,则输出本轮测试结果;当取出的body内容没有传入sql语句时,进入静态断言流程,通过断言条件判断结果是否符合业务要求,若是,则测试通过,若否,则测试失败,判断是否有其他未执行的用例,若有则读取下一用例进行测试。当调用的接口没有正确处理时,则判断sid是否过期,若已过期,则调用登录模块,根据环境,请求端生成登录用的参数、加密信息,若登录成功,则获取的sid以键值对形式存放本地文件,根据账号取出本地文件存放的sid,执行上述测试过程。当接口未正确处理且sid未过期时,取出报错信息若为预期结果,则测试成功。

通过图2所示的接口测试架构示意图,解决了脚本通用性不强的问题,通过对数据和模块的浅层封装、模板模式等设计,使脚本在接收到执行命令后,无需手动配置过多参数,即可自动生成与之对应的参数集合,实现快速、方便的执行。解决了本地读写文件的问题,将关键数据保存至本地,且保存格式为字典(dictionary),后期读取数据,则通过键(key)即可查到对应的值(value),解决了不能引入外部库的问题,并将加密后的数据直接返回调用函数,解决了不能读写数据库的问题,可连接指定的数据库获取或更新测试相关数据,解决了断言方式过于单一的问题,获取接口返回数据和数据库查询数据后,以key-value比对的方式,可快速、大量判断断言接口数据是否准确,同时,使用上述架构,可以开放应用程序接口(api)给其他测试或开放框架,可以进行拓展。

使用上述图2示出的接口架构示意图的测试方式,具有清晰高效的状态码处理流程,体现在header中状态码的校验上,根据接口返回状态码,给出不同的处理流程,从而确定是否可以获取到body。具体的实现方式通过以下实施例进行实现:

图3示出根据本申请的一个方面提供的一种用于测试接口的状态码校验的方法流程示意图,所述方法包括:步骤s11~步骤s13,其中,在步骤s11中,基于测试接口调用登录接口的请求确定调用的登录接口反馈的状态码;在步骤s12中,根据预设的状态码对所述反馈的状态码进行校验,得到校验结果;在步骤s13中,根据所述校验结果判断是否从所述测试接口的请求消息中获取用于验证测试结果的消息体。从而根据对状态码的校验,得到不同的校验结果,从而执行不同的逻辑,是否可以获取到请求消息中的消息体。可以根据所属报错类型的状态码,自动关联到报错信息列表,在报错信息列表中查找并返回对应的具体的报错信息,其中,具体的报错信息包含错误原因以及对应的解决方法,从而引导测试人员从不同的场景下进行高效、快捷的接口测试。

具体地,在步骤s11中,基于测试接口调用登录接口的请求确定调用的登录接口反馈的状态码;在此,根据传入参数自动生成合法的请求消息后,调用登录接口,获取该调用的接口返回的数据,从返回的数据中获取请求消息中消息头(header)中的状态码,例如状态码为1xx,8xx等。

具体地,在步骤s12中,根据预设的状态码对所述反馈的状态码进行校验,得到校验结果;在此,根据预设的状态码对所反馈的状态码进行校验,如预设的状态码为1xx、8xx、4xx或其他,判断所反馈的状态码与预设的状态码中哪一具体状态码信息匹配,得到校验结果,以便判断是否调用接口成功。

具体地,在步骤s13中,根据所述校验结果判断是否从所述测试接口的请求消息中获取用于验证测试结果的消息体。在此,可以将预设的状态码分为三类:表示接口正确处理的状态码,表示sid过期的状态码和出现错误信息的状态码,通过分流的处理不同状态码的逻辑,从而高效清晰的获取调用接口的情况及确定测试结果。

在本申请一实施例中,基于测试接口调用登录接口的请求确定调用的登录接口反馈的状态码之前,所述方法包括:步骤s101,获取所述测试接口的测试请求;步骤s102,根据所述测试接口的测试请求确定所述测试接口调用的登录接口;步骤s103,根据所述调用的登录接口确定所述配置文件。在此,根据测试接口的测试请求获取所述测试接口需要调用的登录接口,如退票流程中,“登录接口-购票接口-退票接口”,退票接口需要调用登录接口的sid,则首先根据获取到的退票接口的测试请求,确定与其对应的登录接口,进而获取到配置文件,接着,在步骤s11中,基于测试接口调用登录接口的请求确定调用的登录接口对应的配置文件;根据所述配置文件中的账号从所述本地文件中获取所述调用的登录接口对应的会话唯一标识信息;根据所述调用的登录接口的处理状态确定反馈的状态码。在此,根据配置文件中的账号获取所述调用的登录接口对应的会话唯一标识(sid)用于识别用户,可以作为调用接口的合法凭证,保证服务器的安全。根据所调用的登录接口的处理状态确定反馈的状态码,如接口正确处理的状态码或调用的sid已过期的状态码或其他出错信息的状态码。

在本申请一实施例中,在步骤s13中,若校验结果为所述调用的登录接口正确处理,则从所述测试接口的请求消息中获取用于验证测试结果的消息体。例如,状态码为1xx,表示调用成功,接口返回的数据可以直接传递给子函数,其中,接口返回的数据为请求消息中的消息体,只有在接口正确处理时,才可以获取消息体。

在本申请一实施例中,在步骤s13中,若所述调用的登录接口的会话唯一标识的有效期已过期,则发送所述调用的登录接口重新登录的请求。例如,当调用的登录接口未正确处理时,需要判断所调用的登录接口的sid是否已过期,若状态码为8xx,则表示所使用的sid已过期,需要重新登录,获取新的临时会话标识,具体通过以下方式进行获取:

发送所述调用的登录接口重新登录的请求之后,根据所述重新登录的请求所在的环境、端口名称生成登录参数及加密信息;根据所述登录参数及加密信息进行登录,并获取本地文件中存储的所述调用的登录接口的会话唯一标识。在本申请一实施例中,环境是指为了完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称,环境可以为测试环境,也可以为开发环境或者其他应用的环境,在此,可以根据自定义的加密规则对配置文件中的账号、登录密码等用户信息进行加密,自定义的加密规则,解决不能引入外部库的问题,根据不同场景的需求自定义不同的加密规则,得到加密后的用户的信息,当上传给服务器时,服务器对加密信息进行解密,判断解密后的信息是否合法,用户是否为合法用户,进而进一步地保证了服务器的安全。

需要说明的是,sid是有有效期的,例如,当天下午某时刻记录了新的sid,则在从该时刻开始的一天内,调用非登录接口时,都可以获取到该新记录的sid,不需要重复从登录接口获取。在图2中根据环境请求端口生成登录用的参数及加密信息,登录成功后,因在本地已存储了还未过期的sid,因此根据配置文件中的账号从本地文件中获取sid,用于后续的数据通讯。

在本申请一具体场景中,比如测试购票接口场景,首先判断所登录的账号在本地是否存有sid,若是,则向购票接口传参数时,会直接把该sid传上去,购票接口根据接收到的包含sid的参数判断sid是否合法,若该sid已过期,则直接反馈对应的状态码,比如8xx,说明本地拿上去的sid是已过期的,此时运行脚本需要自动再去登录一次,将原来的sid进行更新,根据更新后的sid再去请求购票接口。

在本申请一实施例中,在步骤s13中,若校验结果为所述调用的登录接口未正确处理,且所述调用的登录接口的会话唯一标识的有效期未过期,则获取报错信息。例如,当调用的登录接口未正确处理且所使用的sid未过期,会出现错误信息,此时状态码为4xx或其他,调用接口出错,将不会返回结果数据,进一步地,获取报错信息之后,根据所述报错信息判断所述测试接口是否测试成功。通过报错信息查询模块输出具体的报错信息,其中,具体的报错信息可以包括错误的统一资源定位符(url)、用户已在其他终端登录、接口参数错误、解析错误、编码错误、服务编码错误、错误的登录校验码等,若报错信息符合预期结果,则测试通过,否则,测试失败,如进行接口测试时,预期结果为返回用户已在其他终端登录的报错信息,经过测试后,获取状态码表示出现错误信息的状态码,根据状态码获取具体的报错信息,清晰地得到测试结果,与预期结果进行比较,若一致,则表示测试成功,需要说明的是,报错信息可以以键值对方式进行存储,从而不再从接口协议文档获取报错信息的具体内容,清晰快速的得到报错详细内容。

图4示出本申请一实施例中消息头中状态码的校验的流程示意图,首先接收器接收到基于接口请求结果的返回数据,获取状态码,根据状态码判断接口是否为正确处理,若状态码为1xx,则调用接口成功,接口正确处理,将接口返回数据传递给子函数;若接口未正确处理,则根据状态码判断所使用的sid是否已过期,若过期,则需要重新请求登录接口,若未过期,则判断是否为其他状态,如状态码为4xx或其他,表示调用接口出错,不会返回接口返回数据,即无法获取请求消息中的消息体(body),此时,需要读取报错信息查询模块,获取到具体的报错信息。从而完成header中状态码的清晰高效的校验。

图5示出根据本申请的另一个方面提供的一种用于测试接口的状态码校验的设备结构示意图,所述设备包括:确定装置11、校验装置12和判断装置13,其中,确定装置11,用于基于测试接口调用登录接口的请求确定调用的登录接口反馈的状态码;校验装置12,用于根据预设的状态码对所述反馈的状态码进行校验,得到校验结果;判断装置13,用于根据所述校验结果判断是否从所述测试接口的请求消息中获取用于验证测试结果的消息体。从而根据对状态码的校验,得到不同的校验结果,从而执行不同的逻辑,是否可以获取到请求消息中的消息体,可以根据所属报错类型的状态码,自动关联到报错信息列表,在报错信息列表中查找并返回对应的具体的报错信息,其中,具体的报错信息包含错误原因以及对应的解决方法,从而引导测试人员从不同的场景下进行高效、快捷的接口测试。

图2示出本申请一实施例中高效分层服务器端的接口架构示意图;首先运行脚本,载入环境、统一资源定位符(url)、端口名称、账号、请求参数、断言条件、结构化查询语句(sql语句);接着,载入配置文件,根据账号,取出本地文件存放的会话唯一标识(sid),载入加密模板生成加密信息,根据传入参数自动生成合法的消息头(header),请求接口后,通过分析服务器返回内容来判断接口是否正确处理该请求,若是,则取出消息体(body)内容,当传入sql语句时连接相应数据库,执行sql语句,返回查询结果加工为json格式,通过遍历键(key)的方式校验对应的值(value)是否正确,若正确,则测试通过,若失败,则输出本轮测试结果;当取出的body内容没有传入sql语句时,进入静态断言流程,通过断言条件判断结果是否符合业务要求,若是,则测试通过,若否,则测试失败,判断是否有其他未执行的用例,若有则读取下一用例进行测试。当调用的接口没有正确处理时,则判断sid是否过期,若已过期,则调用登录模块,根据环境,请求端生成登录用的参数、加密信息,若登录成功,则获取的sid以键值对形式存放本地文件,根据账号取出本地文件存放的sid,执行上述测试过程。当接口未正确处理且sid未过期时,取出报错的信息若为预期结果,则测试成功。

通过图2所示的接口测试架构示意图,解决了脚本通用性不强的问题,通过对数据和模块的浅层封装、模板模式等设计,使脚本在接收到执行命令后,无需手动配置过多参数,即可自动生成与之对应的参数集合,实现快速、方便的执行。解决了本地读写文件的问题,将关键数据保存至本地,且保存格式为字典(dictionary),后期读取数据,则通过键(key)即可查到对应的值(value),解决了不能引入外部库的问题,并将加密后的数据直接返回调用函数,解决了不能读写数据库的问题,可连接指定的数据库获取或更新测试相关数据,解决了断言方式过于单一的问题,获取接口返回数据和数据库查询数据后,以key-value比对的方式,可快速、大量判断断言接口数据是否准确,同时,使用上述架构,可以开放应用程序接口(api)给其他测试或开放框架,可以进行拓展。

使用上述图2示出的接口架构示意图的测试方式,具有清晰高效的状态码处理流程,体现在header中状态码的校验上,根据接口返回状态码,给出不同的处理流程,从而确定是否可以获取到body。具体的实现方式通过图5所述的设备进行实现:

具体地,确定装置11,用于基于测试接口调用登录接口的请求确定调用的登录接口反馈的状态码;在此,根据传入参数自动生成合法的请求消息后,调用登录接口,获取该调用的接口返回的数据,从返回的数据中获取请求消息中消息头(header)中的状态码,例如状态码为1xx,8xx等。

具体地,校验装置12,用于根据预设的状态码对所述反馈的状态码进行校验,得到校验结果;在此,根据预设的状态码对所反馈的状态码进行校验,如预设的状态码为1xx、8xx、4xx或其他,判断所反馈的状态码与预设的状态码中哪一具体状态码信息匹配,得到校验结果,以便判断是否调用接口成功。

具体地,判断装置13,用于根据所述校验结果判断是否从所述测试接口的请求消息中获取用于验证测试结果的消息体。在此,可以将预设的状态码分为三类:表示接口正确处理的状态码,表示sid过期的状态码和出现错误信息的状态码,通过分流的处理不同状态码的逻辑,从而高效清晰的获取调用接口的情况及确定测试结果。

在本申请一实施例中,基于测试接口调用登录接口的请求确定调用的登录接口反馈的状态码之前,所述设备包括:获取请求装置101,用于获取所述测试接口的测试请求;调用装置102,用于根据所述测试接口的测试请求确定所述测试接口调用的登录接口;查询装置103,用于根据所述调用的登录接口确定所述配置文件。在此,根据测试接口的测试请求获取所述测试接口需要调用的登录接口,如退票流程中,“登录接口-购票接口-退票接口”,退票接口需要调用登录接口的sid,则首先根据获取到的退票接口的测试请求,确定与其对应的登录接口,进而获取到配置文件,接着,确定装置11,用于基于测试接口调用登录接口的请求确定调用的登录接口对应的配置文件;根据所述配置文件中的账号从所述本地文件中获取所述调用的登录接口对应的会话唯一标识信息;根据所述调用的登录接口的处理状态确定反馈的状态码。在此,根据配置文件中的账号获取所述调用的登录接口对应的会话唯一标识(sid)用于识别用户,可以作为调用接口的合法凭证,保证服务器的安全。根据所调用的登录接口的处理状态确定反馈的状态码,如接口正确处理的状态码或调用的sid已过期的状态码或其他出错信息的状态码。

在本申请一实施例中,判断装置13,用于若校验结果为所述调用的登录接口正确处理,则从所述测试接口的请求消息中获取用于验证测试结果的消息体。例如,状态码为1xx,表示调用成功,接口返回的数据可以直接传递给子函数,其中,接口返回的数据为请求消息中的消息体,只有在接口正确处理时,才可以获取消息体。

在本申请一实施例中,判断装置13,用于若所述调用的登录接口的会话唯一标识的有效期已过期,则发送所述调用的登录接口重新登录的请求。例如,当调用的登录接口未正确处理时,需要判断所调用的登录接口的sid是否已过期,若状态码为8xx,则表示所使用的sid已过期,需要重新登录,获取新的临时会话标识,具体通过以下方式进行获取:

发送所述调用的登录接口重新登录的请求之后,根据所述重新登录的请求所在的环境、端口名称生成登录参数及加密信息;根据所述登录参数及加密信息进行登录,并获取本地文件中存储的所述调用的登录接口的会话唯一标识。在本申请一实施例中,环境是指为了完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称,环境可以为测试环境,也可以为开发环境或者其他应用的环境,在此,可以根据自定义的加密规则对配置文件中的账号、登录密码等用户信息进行加密,自定义的加密规则,解决不能引入外部库的问题,根据不同场景的需求自定义不同的加密规则,得到加密后的用户的信息,当上传给服务器时,服务器对加密信息进行解密,判断解密后的信息是否合法,用户是否为合法用户,进而进一步地保证了服务器的安全。

需要说明的是,sid是有有效期的,例如,当天下午某时刻记录了新的sid,则在从该时刻开始的一天内,调用非登录接口时,都可以获取到该新记录的sid,不需要重复从登录接口获取。在图2中根据环境、请求端口生成登录用的参数及加密信息,登录成功后,因在本地已存储了还未过期的sid,因此根据配置文件中的账号从本地文件中获取sid,用于后续的数据通讯。

在本申请一具体场景中,比如测试购票接口场景,首先判断所登录的账号在本地是否存有sid,若是,则向购票接口传参数时,会直接把该sid传上去,购票接口根据接收到的包含sid的参数判断sid是否合法,若该sid已过期,则直接反馈对应的状态码,比如8xx,说明本地拿上去的sid是已过期的,此时运行脚本需要自动再去登录一次,将原来的sid进行更新,根据更新后的sid再去请求购票接口。

在本申请一实施例中,判断装置13,用于若校验结果为所述调用的登录接口未正确处理,且所述调用的登录接口的会话唯一标识的有效期未过期,则获取报错信息。例如,当调用的登录接口未正确处理且所使用的sid未过期,会出现错误信息,此时状态码为4xx或其他,调用接口出错,将不会返回结果数据,进一步地,获取报错信息之后,根据所述报错信息判断所述测试接口是否测试成功。通过报错信息查询模块输出具体的报错信息,其中,具体详细的报错信息可以包括错误的统一资源定位符(url)、用户已在其他终端登录、接口参数错误、解析错误、编码错误、服务编码错误、错误的登录校验码等,若报错信息符合预期结果,则测试通过,否则,测试失败,如进行接口测试时,预期结果为返回用户已在其他终端登录的报错信息,经过测试后,获取状态码表示出现错误信息的状态码,根据状态码获取具体的报错信息,清晰地得到测试结果,与预期结果进行比较,若一致,则表示测试成功。

图4示出本申请一实施例中消息头中状态码的校验的流程示意图,首先接收器接收到基于接口请求结果的返回数据,获取状态码,根据状态码判断接口是否为正确处理,若状态码为1xx,则调用接口成功,接口正确处理,将接口返回数据传递给子函数;若接口未正确处理,则根据状态码判断所使用的sid是否已过期,若过期,则需要重新请求登录接口,若未过期,则判断是否为其他状态,如状态码为4xx或其他,表示调用接口出错,不会返回接口返回数据,即无法获取请求消息中的消息体(body),此时,需要读取报错信息查询模块,获取到具体的报错信息。从而完成header中状态码的清晰高效的校验,报错信息可以以键值对方式进行存储,从而不再从接口协议文档获取报错信息的具体内容,清晰快速的得到报错详细内容。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。

另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。

对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1