一种接口测试方法、装置、电子设备及存储介质与流程
未命名
09-23
阅读:49
评论:0
1.本发明涉及接口测试技术,具体涉及一种接口测试方法、装置、电子设备及计算机可读存储介质。
背景技术:
2.近年,移动云资源池的快速建设,系统软件的量越来越庞大,各系统间的接口也越来越多,接口的交互也越来越复杂,各系统间的拓扑关系也很交杂错落,当中的一个接口出现不稳定的情况,就会导致一条业务多个系统无法测试,业务无法串起。而现有技术方案中多是通过在开发阶段,开发人员统一配置部分代码对接口进行测试,此方案太依赖开发人员,无法形成统一标准,增加开发的工作量和周期。另外一类技术方案是利用接口生成工具生成克隆接口,而通过克隆接口都是只能返回固定数据或者模板数据,无法满足真实接口的多状态需求。
技术实现要素:
3.为解决现有存在的技术问题,本技术的技术方案是这样实现的:
4.根据本技术的一方面,提供一种接口测试方法,其特征在于,所述方法包括:
5.根据依赖接口的地址信息确定所述依赖接口真实存在的情况下,向所述依赖接口发送数据请求,得到所述依赖接口的数据结构体;
6.对所述数据结构体进行扩展处理,生成所述依赖接口的多状态响应数据;
7.根据所述多状态响应数据生成所述依赖接口的模拟接口和执行环境;
8.在所述执行环境中通过所述模拟接口接收测试接口发送的数据请求;
9.根据所述数据请求向所述测试接口发送所述多状态响应数据中的至少一种数据,以使得所述测试接口基于所述至少一种数据确定所述测试接口的测试结果。
10.上述方案中,所述根据依赖接口的地址信息确定所述依赖接口真实存在,包括:
11.根据所述依赖接口的地址信息,向所述依赖接口的地址发送调用请求;
12.如果所述调用请求响应成功,确定所述依赖接口真实存在。
13.上述方案中,对所述数据结构体进行扩展处理,生成所述依赖接口的多状态响应数据,包括:
14.对所述数据结构体进行解析,生成与所述数据结构对应的字典结构,所述字典结构中包括有多个字典元素;
15.根据预设参数对所述字典结构中的数据进行自定义扩展或编排,生成所述依赖接口的多状态响应数据。
16.上述方案中,所述方法还包括:
17.根据所述依赖接口的地址信息确定所述依赖接口不存在的情况下,根据预设的数据规则构建所述依赖接口的数据结构体,以形成所述依赖接口的多状态响应数据。
18.上述方案中,所述方法还包括
19.在数据库中保存所述多状态响应数据。
20.上述方案中,所述向所述依赖接口发送数据请求,得到所述依赖接口的数据结构体,至少包括以下方法之一:
21.向所述依赖接口发送多次数据请求,得到所述依赖接口返回的多个数据结构体;其中,所述多个数据结构体相同或不同;
22.向所述依赖接口发送一次数据请求,得到所述依赖接口返回的一个数据结构体。
23.上述方案中,所述方法还包括:
24.在所述执行环境中对所述多状态响应数据进行自定义扩展或编辑。
25.上述方案中,所述方法还包括:
26.在所述执行环境中对所述测试接口发送的数据请求进行异步响应。
27.根据本技术的另一方面,提供一种接口测试装置,其特征在于,所述接口测试装置包括:
28.发送单元,用于根据依赖接口的地址信息确定所述依赖接口真实存在的情况下,向所述依赖接口发送数据请求,得到所述依赖接口的数据结构体;
29.生成单元,用于对所述数据结构体进行扩展处理,生成所述依赖接口的多状态响应数据;以及用于根据所述多状态响应数据生成所述依赖接口的模拟接口和执行环境;
30.接收单元,用于在所述执行环境中通过所述模拟接口接收测试接口发送的数据请求;
31.所述发送单元,还用于根据所述数据请求向所述测试接口发送所述多状态响应数据中的至少一种数据,以使得所述测试接口基于所述至少一种数据确定所述测试接口的测试结果。
32.根据本技术的第三方面,提供一种电子设备,其特征在于,所述电子设备包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
33.其中,所述处理器用于运行所述计算机程序时,执行上述的任一种接口测试方法中的任一项方法步骤。
34.根据本技术的第四方面,提供一种计算机可读存储介质,其特征在于,用于存储计算机指令,所述计算机指令被处理器执行时,执行上述的任一种接口测试方法中的任一项方法步骤。
35.本发明实施例提供的接口测试方法、装置、电子设备及计算机可读存储介质,通过对依赖接口的真实响应数据进行多方面的编排和扩展,形成多状态响应数据,利用该多状态响应数据生成模拟接口,可以使得该模拟接口更加接近于真实的依赖接口,不仅可以提高开发人员的开发周期,而且还可以满足真实接口在测试环境中的多数据要求。
附图说明
36.图1为本技术中接口测试方法的流程实现示意图一;
37.图2为本技术中接口测试方法的流程示意图二;
38.图3为本技术中接口测试装置的结构组成示意图;
39.图4为本技术中电子设备的结构组成示意图。
具体实施方式
40.下面结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
41.图1为本技术中接口测试方法的流程实现示意图一;如图1所示,该方法包括:
42.步骤101,根据依赖接口的地址信息确定所述依赖接口真实存在的情况下,向所述依赖接口发送数据请求,得到所述依赖接口的数据结构体;
43.步骤102,对所述数据结构体进行扩展处理,生成所述依赖接口的多状态响应数据;
44.步骤103,根据所述多状态响应数据生成所述依赖接口的模拟接口和执行环境;
45.步骤104,在所述执行环境中通过所述模拟接口接收测试接口发送的数据请求;
46.步骤105,根据所述数据请求向所述测试接口发送所述多状态响应数据中的至少一种数据,以使得所述测试接口基于所述至少一种数据确定所述测试接口的测试结果。
47.本技术中,该方法可以应用于具有程序开发能力的电子设备,该电子设备可以是服务器,也可以是个人计算机(pc,personal computer)。该电子设备中可以安装有接口测试平台,通过该接口测试平台可以输入待模拟的依赖接口的第一信息(包括但不限于接口的地址信息、端口名称、端口参数),基于该第一信息可以获取该依赖接口的真实响应数据。
48.这里,该依赖接口表征实现当前系统的某一功能所依赖的程序接口,该程序接口包括但不限于当前系统自身的程序接口、第三方程序接口。
49.本技术中,该电子设备在获取依赖接口的真实响应数据时,首先需要根据依赖接口的地址信息,向该依赖接口的地址发送调用请求,如果该调用请求响应成功,说明该依赖接口是真实存在的接口;如果该调用请求响应失败,说明该依赖接口不是真实存在的接口。
50.这里,当该依赖接口的地址信息是一个错误地址或者是一个不存在的地址时,确定该依赖接口不是真实存在的接口。
51.本技术中,该电子设备在确定该依赖接口是真实存在的接口时,可以向该依赖接口发送多次数据请求,以得到该依赖接口返回的多个数据结构体;也可以只向该依赖接口发送一次数据请求,以得到该依赖接口返回的一个数据结构体。
52.这里,当得到该依赖接口返回的多个数据结构体时,该多个数据结构体可以相同也可以不同。
53.本技术中,该电子设备在得到该依赖接口返回的数据结构体后,可以对该数据结构体进行解析,以生成与该数据结构体对应的字典结构,其中,该字典结构中包括有多个字典元素;根据预设参数对该字典结构中的数据进行自定义扩展或编排,生成该依赖接口的多状态响应数据。
54.这里,该电子设备可以将该数据结构体生成map结构,该map结构是一种典型的字典类型的数据结构。
55.本技术中,该电子设备在根据预设参数对该字典结构中的数据进行自定义扩展或编排,生成该依赖接口的多状态响应数据时,该预设参数可以与当前的业务需求相关。比如,当前业务需求是希望调用接口返回正常数据,则根据预设的表征响应正常的参数1对该字典结构中的数据进行自定义扩展或编排;如果当前业务需求是希望调用接口返回异常数据,则根据预设的表征响应异常的参数2对该字典结构中的数据进行自定义扩展或编排;如
果当前业务需求是希望调用接口返回系统不兼容数据,则根据预设的表征响应系统不兼容的参数3对该字典结构中的数据进行自定义扩展或编排。
56.本技术中,该电子设备在得到该依赖接口的多状态响应数据后,还可以将该多状态响应数据存储到数据库,以便后续测试端口的调用。
57.本技术中,该电子设备在对该字典结构中的数据进行编排时,可以对该数据进行随机组合,或者根据数据类型将对应数据的字段加长、缩短;或者修改对应数据的异常参数和容错性参数。
58.本技术中,该电子设备如果根据该依赖接口的地址信息确定该依赖接口不是真实存在的接口的情况下,该电子设备还可以根据预设数据规则构建该依赖接口的数据结构体,以形成该依赖接口的多状态响应数据。
59.这里,该电子设备可以通过从该依赖接口的官方地址获取该依赖接口的文本信息,根据预设数据规则对该文本信息进行编排和扩展,以形成该依赖接口的多状态响应数据。或者,直接根据预设数据规则构建该依赖接口的数据结构体。
60.这里,预设数据规则可以是多状态code:200、code:201、code:400,code:500,code:404,code:null,code:int,code:string,code:list等学习规则,根据多状态学习规则可以改变map结构里的value数据类型值,以生成变化的接口数据。比如,将map结构里的value值100改为200,将value值400改为500,将value值500改为0,等等。
61.本技术中,该电子设备在得到该依赖接口的多状态响应数据后,则可以基于该多状态响应数据生成该依赖接口的模拟接口和执行环境,在该执行环境中通过该模拟接口响应测试接口发送的数据请求。
62.本技术中,该电子设备在通过该模拟接口响应该测试接口发送的数据请求时,可以从数据库中获取该多状态响应数据,然后在该多状态响应数据中随机抽取一个数据返回给测试接口;当然,也可以在测试接口指定有数据参数的情况下,从该多状态响应数据中抽取指定数据返回给测试接口。
63.这里,该接口测试平台中可以为测试人员提供数据选择接口,如果测试人员通过数据选择接口点击的是随机按钮,则该接口测试平台可以接收到测试人员触发的随机参数,则根据该随机参数在多状态响应数据中随机抽取一个数据返回给测试接口;如果测试人员通过数据选择接口点击的是指定按钮,则该接口测试平台可以接收到测试人员触发的指定参数,则根据该指定参数在多状态响应数据中提取与该指定参数对应的指定数据返回给测试接口。
64.本技术中,该电子设备在基于多状态响应数据生成执行环境后,还可以在该执行环境中对该多状态响应数据进行自定义扩展或编辑,以更新该多状态响应数据。
65.比如,修改该多状态响应数据的字段长度、数据类型参数、容错性等等。
66.本技术中,该电子设备在执行环境中还可以为测试接口提供异步响应能力,如果该模拟接口接收到的测试接口发送的数据请求对应的多状态响应数据是后续业务数据,则确定该数据请求满足异步响应条件,可以通过异步响应方向为该测试接口提供多状态的后续响应数据。如此,可以保障整个测试业务的延续性。
67.这里,后续业务数据可以理解为还未开发完的接口数据。
68.本技术提供的接口测试方法,通过向依赖接口发送数据请求,以获取该依赖接口
的真实响应数据,利用依赖接口的真实响应数据生成模拟接口,可以使得该模拟接口更接近于真实接口,从而在通过该模拟接口响应测试接口发送的数据请求时,可以使得返回的测试数据更加准确,提高了接口的测试效果。而通过对依赖接口的真实响应数据进行深度扩展和编排,形成多状态多需求的响应数据,能够保障提供给接口调用者(或者测试接口)对测试系统的全面性和健壮性及容错性的能力。
69.图2为本技术中接口测试方法的流程示意图二,如图2所示,该方法包括:
70.步骤201,通过接口测试平台的接收入口输入依赖接口的信息;
71.这里,该依赖接口是指当前系统依赖的真实程序的接口。该信息包括但不限于统一资源定位符(url,uniform resource locator)、request(请求)对象、接口参数、接口名称。
72.步骤202,对依赖接口的真实存在状态进行判断;
73.这里,可以从输入的依赖接口的信息中提取依赖接口的地址信息(如url),基于依赖接口的地址信息向该依赖接口的地址发送调用请求,如果该调用请求成功响应,说明该依赖接口是真实存在的,执行步骤203;如果该调用请求响应失败,说明该地址信息是不存在的或错误的,确定该依赖接口不存在,执行步骤205;
74.步骤203,对依赖接口的地址进行解析;
75.这里是指对依赖接口的该地址信息进行封装处理,以将该依赖接口的地址转换成该接口测试平台可以识别的基础真实数据并存入数据库;
76.步骤204,对依赖接口的数据进行解析;
77.这里,可以是指基于该依赖接口的地址信息向该依赖接口发送数据请求(可以是一次或多次请求),得到该依赖接口返回的真实的数据结构体;对该数据结构体进行解析,以将该数据结构体转换成map结构的数据关系;
78.这里,在对依赖接口的返回数据进行扩展时,可以按照请求属性随机提取赋值结合数据类型字段的长度控制,向依赖接口发送多次数据请求,以实现对依赖接口的响应数据进行扩展。
79.步骤205,生成依赖接口的多状态响应数据;
80.这里,可以根据业务需求对map结构中的数据进行自定义扩展或者编排,生成多状态响应数据。比如,根据多状态code:200、code:201、code:400,code:500,code:404,code:null,code:int,code:string,code:list等学习规则改变map结构里的value数据类型值生成变化的接口数据,保障接口多样的返回数据生成。
81.这里,对于该依赖接口不存在的情况,该接口测试平台可以根据预设数据规则构建该依赖接口的数据结构体。还可以从依赖接口的官方平台获取该依赖接口的文本数据,基于该文本数据按照预设数据规则构建该依赖接口的数据结构体,以保障接口测试数据的生成。
82.步骤206,将多状态响应数据保存到数据库;
83.步骤207,生成依赖接口的模拟接口,并启动该模拟接口;
84.这里,可以根据多状态响应数据生成该依赖接口的模拟接口。比如该模拟接口是针对依赖于支付宝接口的模拟接口,通过该模拟接口可以接收外部系统通过测试接口发送的数据请求,并根据该数据请求向该测试接口返回多状态响应数据中的至少一种数据。这
样根据真实的依赖接口生成的模拟接口返回的测试数据更接近于真实接口,可以提高测试准确度。
85.步骤208,运行该模拟接口的执行环境;
86.这里,可以根据多状态响应数据生成该执行环境,并且在该执行环境中还可以对测试接口的数据请求进行异步响应。以及在执行环境中还可以对生成的多状态响应数据进行自定义扩展或编辑,以更新该多状态响应数据。
87.步骤209,接收测试接口的数据请求;
88.这里,通过模拟接口接收测试接口发送的数据请求;
89.步骤210,缓存数据;
90.这里,如果测试接口发送的数据请求是针对后续业务的接口调用请求,可以将请求数据暂时保存在缓存中。或者,测试接口发送的数据请求对应的调用接口是历史接口,则将历史接口的历史响应数据保存到缓存中,以降低数据处理流程。
91.步骤211,向测试接口返回测试数据;
92.这里,通过模拟接口在向测试接口返回多状态响应数据时,可以是随机从该多状态响应数据中抽取一种类型的数据返回给测试接口,也可以根据指定参数从该多状态响应数据中抽取指定数据返回给测试接口。该指定参数可以是由测试接口通过触发该平台中的数据指定接口所产生。
93.由于本技术提供的接口测试方法中,依赖接口的响应数据是对真实请求目标系统数据的延深拓展,并对依赖接口的真实响应数据进行多状态的业务编排或学度扩展所得,并不是单纯的单方面模仿响应,所以可以保证测试环境的多数据要求,生成360度无死角的多状态的测试数据,保证调用者程序的测试全面及健壮性。而基于真实接口的真实响应数据生成模拟接口,可以在测试接口调用该依赖接口时,利用该模拟接口直接响应,可以避免一些数据请求会造成某些数据库中数据的污染问题,可以实现数据隔离的效果。同时,由于模拟接口可以向测试接口返回多状态多需求的响应数据(比如异常情况(500错误);正常情况(400正确)等等),所以还可以提高接口的测试覆盖率和系统健壮性。
94.本技术中,该接口测试平台还可以模拟一个网络暂时不能访问的资源依赖接口,以方便系统的开发调试和测试,从而减少网络隔离问题。
95.本技术中,该接口测试平台还可以模拟一个用户界面(ui,user interface)的依赖接口,这样通过该ui模拟接口就可以在完全没有开发后端服务的情况下进行系统演示。
96.这里,该接口测试平台可以是一个企业级别的测试深度编排接口的平台,通过该平台可以为各部分的系统服务提供数据接口能力来应对各种突发问题及环境问题,以简化各系统接口间的粘合度。同时,本技术的扩展编排方案可以在执行环境中支持业务的后续处理,异步响应多状态的后续数据,保障整个测试业务的延续性。
97.下以对本技术的接口测试方法进行示例说明:
98.步骤1,通过平台的输入接口输入待接口测试的依赖接口信息,比如该依赖接口是依赖于第三方的程序接口,如http://test.yinai,com/user?id=24。
99.步骤2,请求依赖接口的地址,如:http://test.yinai,com/user?id=24,以得到真实返回数据。(如下数据结构体)
[0100][0101]
步骤3,如果步骤2有返回解析数据,则将该返回数据生成map结构的对应关系;如果无数据返回,则手动编写依赖接口的数据结构体,以用于后续测试接口调用;
[0102]
步骤4,根据业务需求对步骤3的map结构数据进行动态扩展和编排,以生成多状态响应数据;如以所示:
[0103]
[0104][0105]
等等
…
[0106]
步骤5,启动依赖接口的模拟接口;
[0107]
步骤6,执行环境对依赖接口的真实返回数据可动态编辑,还可以根据需要对依赖接口的真实返回数据进行手动拓展;
[0108]
步骤7,测试接口在调用该依赖接口时,可以通过模拟接口随机返回多状态响应数据中的一种。根据该多状态响应数据对测试接口进行多次测试后,可以保障测试接口的健壮性和兼容容错能力。
[0109]
本技术通过将依赖接口的真实响应数据提取出来,进行多方面的编排和扩展,可以保证测试环境的多数据要求,形成360度无死角的多状态多需求的测试数据,保证调用者程序测试的全面性及健壮性。
[0110]
图3为本技术中接口测试装置的结构组成示意图一,如图3所示,包括:
[0111]
发送单元301,用于根据依赖接口的地址信息确定所述依赖接口真实存在的情况下,向所述依赖接口发送数据请求,得到所述依赖接口的数据结构体;
[0112]
生成单元302,用于对所述数据结构体进行扩展处理,生成所述依赖接口的多状态响应数据;以及用于根据所述多状态响应数据生成所述依赖接口的模拟接口和执行环境;
[0113]
接收单元303,用于在所述执行环境中通过所述模拟接口接收测试接口发送的数据请求;
[0114]
所述发送单元301,还用于根据所述数据请求向所述测试接口发送所述多状态响应数据中的至少一种数据,以使得所述测试接口基于所述至少一种数据确定所述测试接口的测试结果。
[0115]
在优选方案中,该接口测试装置还包括:确定单元304;
[0116]
其中,该发送单元301还用于根据所述依赖接口的地址信息,向所述依赖接口的地址发送调用请求;
[0117]
确定单元304用于如果所述调用请求响应成功,确定所述依赖接口真实存在。
[0118]
在优选方案中,该生成单元302具体用于对所述数据结构体进行解析,生成与所述数据结构体对应的字典结构,所述字典结构中包括有多个字典元素;以及根据预设参数对所述字典结构中的数据进行自定义扩展或编排,生成所述依赖接口的多状态响应数据。
[0119]
优选方案中,该生成单元302还用于根据所述依赖接口的地址信息确定所述依赖接口不存在的情况下,根据预设的数据规则构建所述依赖接口的数据结构体,以生成所述依赖接口的多状态响应数据。
[0120]
在优选方案中,该接口测试装置还包括:保存单元305;
[0121]
保存单元305用于在数据库中保存所述多状态响应数据。
[0122]
在优选方案中,该发送单元301具体用于向所述依赖接口发送多次数据请求,得到所述依赖接口返回的多个数据结构体;其中,所述多个数据结构体相同或不同;或者,向所述依赖接口发送一次数据请求,得到所述依赖接口返回的一个数据结构体。
[0123]
优选方安中,该接口测试装置还包括:更新单元306;
[0124]
更新单元306用于在所述执行环境中对所述多状态响应数据进行自定义扩展或编辑,以更新所述多状态响应数据。
[0125]
优选方案中,该接口测试装置还包括:响应单元307;
[0126]
响应单元307用于如果所述数据请求对应的多状态响应数据满足异步响应条件,在所述执行环境中对所述数据请求进行异步响应。
[0127]
需要说明的是:上述实施例提供的接口测试装置在进行接口测试时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的接口测试装置与上述提供的接口测试方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0128]
图4为本技术中电子设备的结构组成示意图,电子设备400可以是计算机、数字广播终端、信息收发设备、医疗设备、健身设备、个人数字助理等终端或服务器,这里,服务器包括但不限于实体服务器、云服务器。图4所示的电子设备400包括:至少一个处理器401、存储器402、至少一个网络接口404和用户接口403。电子设备400中的各个组件通过总线系统405耦合在一起。可理解,总线系统405用于实现这些组件之间的连接通信。总线系统405除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为总线系统405。
[0129]
其中,用户接口403可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。
[0130]
可以理解,存储器402可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,read only memory)、可编程只读存储器(prom,programmable read-only memory)、可擦除可编程只读存储器(eprom,erasable programmable read-only memory)、电可擦除可编程只读存储器(eeprom,electrically erasable programmable read-only memory)、磁性随机存取存储器(fram,ferromagnetic random access memory)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(cd-rom,compact disc read-only memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,random access memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,static random access memory)、同步静态随机存取存储器(ssram,synchronous static random access memory)、动态随机存取存储器(dram,dynamic random access memory)、同步动态随机存取存储器(sdram,synchronous dynamic random access memory)、双倍数据速率同步动态随机存取存储器(ddrsdram,double data rate synchronous dynamic random access memory)、增强型同步动态随机
存取存储器(esdram,enhanced synchronous dynamic random access memory)、同步连接动态随机存取存储器(sldram,synclink dynamic random access memory)、直接内存总线随机存取存储器(drram,direct rambus random access memory)。本技术实施例描述的存储器402旨在包括但不限于这些和任意其它适合类型的存储器。
[0131]
本技术实施例中的存储器402用于存储各种类型的数据以支持电子设备400的操作。这些数据的示例包括:用于在电子设备400上操作的任何计算机程序,如操作系统4021和应用程序4022;联系人数据;电话簿数据;消息;图片;音频等。其中,操作系统4021包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序4022可以包含各种应用程序,例如媒体播放器(media player)、浏览器(browser)等,用于实现各种应用业务。实现本技术实施例方法的程序可以包含在应用程序4022中。
[0132]
上述本技术实施例揭示的方法可以应用于处理器401中,或者由处理器401实现。处理器401可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器401中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器401可以是通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器401可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器402,处理器401读取存储器402中的信息,结合其硬件完成前述方法的步骤。
[0133]
在示例性实施例中,电子设备400可以被一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field-programmable gate array)、通用处理器、控制器、微控制器(mcu,micro controller unit)、微处理器(microprocessor)、或其他电子元件实现,用于执行前述方法。
[0134]
在示例性实施例中,本技术实施例还提供了一种计算机可读存储介质,例如包括计算机程序的存储器402,上述计算机程序可由电子设备400的处理器401执行,以完成前述方法所述步骤。计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、flash memory、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备,如移动电话、计算机、平板设备、个人数字助理等。
[0135]
一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器运行时,执行上述任一种设备绑定方法中任一项方法步骤。
[0136]
在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合
或通信连接,可以是电性的、机械的或其它形式的。
[0137]
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
[0138]
本技术所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
[0139]
本技术所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
[0140]
本技术所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
[0141]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
技术特征:
1.一种接口测试方法,其特征在于,所述方法包括:根据依赖接口的地址信息确定所述依赖接口真实存在的情况下,向所述依赖接口发送数据请求,得到所述依赖接口的数据结构体;对所述数据结构体进行扩展处理,生成所述依赖接口的多状态响应数据;根据所述多状态响应数据生成所述依赖接口的模拟接口和执行环境;在所述执行环境中通过所述模拟接口接收测试接口发送的数据请求;根据所述数据请求向所述测试接口发送所述多状态响应数据中的至少一种数据,以使得所述测试接口基于所述至少一种数据确定所述测试接口的测试结果。2.根据权利要求1所述的方法,其特征在于,所述根据依赖接口的地址信息确定所述依赖接口真实存在,包括:根据所述依赖接口的地址信息,向所述依赖接口的地址发送调用请求;如果所述调用请求响应成功,确定所述依赖接口真实存在。3.根据权利要求1所述的方法,其特征在于,对所述数据结构体进行扩展处理,生成所述依赖接口的多状态响应数据,包括:对所述数据结构体进行解析,生成与所述数据结构体对应的字典结构,所述字典结构中包括有多个字典元素;根据预设参数对所述字典结构中的数据进行自定义扩展或编排,生成所述依赖接口的多状态响应数据。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据所述依赖接口的地址信息确定所述依赖接口不存在的情况下,根据预设的数据规则构建所述依赖接口的数据结构体,以形成所述依赖接口的多状态响应数据。5.根据权利要求1所述的方法,其特征在于,所述向所述依赖接口发送数据请求,得到所述依赖接口的数据结构体,至少包括以下方法之一:向所述依赖接口发送多次数据请求,得到所述依赖接口返回的多个数据结构体;其中,所述多个数据结构体相同或不同;向所述依赖接口发送一次数据请求,得到所述依赖接口返回的一个数据结构体。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述执行环境中对所述多状态响应数据进行自定义扩展或编辑,以更新所述多状态响应数据。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:如果所述数据请求对应的多状态响应数据满足异步响应条件,在所述执行环境中对所述数据请求进行异步响应。8.一种接口测试装置,其特征在于,所述接口测试装置包括:发送单元,用于根据依赖接口的地址信息确定所述依赖接口真实存在的情况下,向所述依赖接口发送数据请求,得到所述依赖接口的数据结构体;生成单元,用于对所述数据结构体进行扩展处理,生成所述依赖接口的多状态响应数据;以及用于根据所述多状态响应数据生成所述依赖接口的模拟接口和执行环境;接收单元,用于在所述执行环境中通过所述模拟接口接收测试接口发送的数据请求;所述发送单元,还用于根据所述数据请求向所述测试接口发送所述多状态响应数据中
的至少一种数据,以使得所述测试接口基于所述至少一种数据确定所述测试接口的测试结果。9.一种电子设备,其特征在于,所述电子设备包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行上述权利要求1至7所述的任一种接口测试方法中的任一项方法步骤。10.一种计算机可读存储介质,其特征在于,用于存储计算机指令,所述计算机指令被处理器执行时,执行上述权利要求1至7所述的任一种接口测试方法中的任一项方法步骤。
技术总结
本申请提供一种接口测试方法,所述方法包括:根据依赖接口的地址信息确定依赖接口真实存在的情况下,向依赖接口发送数据请求,得到依赖接口的数据结构体;对数据结构体进行扩展处理,生成依赖接口的多状态响应数据;根据多状态响应数据生成依赖接口的模拟接口和执行环境;在执行环境中通过模拟接口接收测试接口发送的数据请求;根据数据请求向测试接口发送多状态响应数据中的至少一种数据,以使得测试接口基于至少一种数据确定测试接口的测试结果。本申请还同时提供了一种接口测试装置、电子设备及计算机可读存储介质,不仅可以提高开发人员的开发周期,而且还可以满足真实接口在测试环境中的多状态、多数据要求。多数据要求。多数据要求。
技术研发人员:仇伟杰 王小峰 陆文海 王均
受保护的技术使用者:中国移动通信集团有限公司
技术研发日:2022.06.02
技术公布日:2023/9/22
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/