1.本技术涉及数据处理技术领域,具体而言,涉及一种基于浏览器客户端的测试方法及装置。
背景技术:
2.当客户端产品开发完成后,通常会进行测试,以测试客户端各个功能是否按照设计实现,达到预期效果。现有的基于测试方法中,在进行测试时,需要使用代码编写mock接口以及返回参数,然后使用编写的mock接口以及返回参数完成测试。然而,在实践中发现,直接写模拟接口时间成本很高,不适合广泛使用,通用性差,同时,写代码耗时长,导致测试效率低。可见,现有的测试方法,通用性差,测试效率低。
技术实现要素:
3.本技术实施例的目的在于提供一种基于浏览器客户端的测试方法及装置,能够快速完成测试,不需要编写模拟接口及返回参数,通用性好,测试效率高。
4.本技术实施例第一方面提供了一种基于浏览器客户端的测试方法,应用于mock扩展组件,所述mock扩展组件设置于所述浏览器客户端上,包括:
5.当开启mock测试时,获取所述浏览器客户端生成的网页访问请求;
6.获取所述网页访问请求对应的mock接口列表以及所述mock接口列表中每个mock接口对应的接口数据;
7.根据用户输入的接口选择指令从所述mock接口列表中确定目标测试接口,以及根据用户输入的数据修改指令对与所述目标测试接口对应的接口数据进行调整处理,得到与所述目标测试接口对应的目标测试数据;
8.根据所述目标测试接口和所述目标测试数据获取测试响应信息;
9.根据所述测试响应信息输出测试结果预览界面。
10.在上述实现过程中,当开启mock测试时,获取浏览器客户端生成的网页访问请求;再获取网页访问请求对应的mock接口列表以及mock接口列表中每个mock接口对应的接口数据;然后根据用户输入的接口选择指令从mock接口列表中确定目标测试接口,以及根据用户输入的数据修改指令对与目标测试接口对应的接口数据进行调整处理,得到与目标测试接口对应的目标测试数据;最后根据目标测试接口和目标测试数据获取测试响应信息,并根据测试响应信息输出测试结果预览界面,能够快速完成测试,不需要编写模拟接口及返回参数,通用性好,测试效率高。
11.进一步地,所述方法还包括:
12.监听所述浏览器客户端是否生成网页访问请求;
13.如果是,判断当前是否开启mock测试;
14.如果是,拦截所述网页访问请求对应的真实响应信息,并执行所述的获取所述浏览器客户端生成的网页访问请求。
15.在上述实现过程中,当监听到网页访问请求之后,还判断是否开启mock测试,如果开启,则拦截相应的真实响应信息,并进行mock测试流程。
16.进一步地,所述方法还包括:
17.如果当前没有开启所述mock测试时,返回所述网页访问请求对应的真实响应信息。
18.在上述实现过程中,当判断出未开启mock测试时,则返回网页访问请求对应的真实响应信息。
19.进一步地,所述根据所述目标测试接口和所述目标测试数据获取测试响应信息,包括:
20.接收用户输入的测试启动指令;
21.根据所述测试启动指令、所述目标测试接口和所述目标测试数据,生成测试请求;
22.获取所述测试请求对应的测试响应信息。
23.在上述实现过程中,用户可以根据需要选择测试接口和测试数据,然后再输入测试启动指令,就能够完成mock测试,方便简单。
24.进一步地,在所述根据用户输入的数据修改指令对与所述目标测试接口对应的接口数据进行调整处理,得到与所述目标测试接口对应的目标测试数据之后,所述方法还包括:
25.存储所述目标测试接口以及与所述目标测试接口对应的目标测试数据。
26.在上述实现过程中,能够将目标测试接口和目标测试数据进行存储,无需担心浏览器客户端关闭导致数据丢失。
27.本技术实施例第二方面提供了一种基于浏览器客户端的测试装置,应用于mock扩展组件,所述mock扩展组件设置于所述浏览器客户端上,所述基于浏览器客户端的测试装置包括:
28.第一获取单元,用于当开启mock测试时,获取所述浏览器客户端生成的网页访问请求;以及获取所述网页访问请求对应的mock接口列表以及所述mock接口列表中每个mock接口对应的接口数据;
29.确定单元,用于根据用户输入的接口选择指令从所述mock接口列表中确定目标测试接口,以及根据用户输入的数据修改指令对与所述目标测试接口对应的接口数据进行调整处理,得到与所述目标测试接口对应的目标测试数据;
30.第二获取单元,用于根据所述目标测试接口和所述目标测试数据获取测试响应信息;
31.输出单元,用于根据所述测试响应信息输出测试结果预览界面。
32.在上述实现过程中,第一获取单元在开启mock测试时,获取浏览器客户端生成的网页访问请求;以及获取网页访问请求对应的mock接口列表以及mock接口列表中每个mock接口对应的接口数据;然后确定单元根据用户输入的接口选择指令从mock接口列表中确定目标测试接口,以及根据用户输入的数据修改指令对与目标测试接口对应的接口数据进行调整处理,得到与目标测试接口对应的目标测试数据;最后第二获取单元根据根据目标测试接口和目标测试数据获取测试响应信息,输出单元根据测试响应信息输出测试结果预览界面,能够快速完成测试,不需要编写模拟接口及返回参数,通用性好,测试效率高。
33.进一步地,还包括:
34.监听单元,用于监听所述浏览器客户端是否生成网页访问请求;
35.判断单元,用于当监听到所述网页访问请求时,判断当前是否开启mock测试;
36.拦截单元,用于当判断出开启了所述mock测试时,拦截所述网页访问请求对应的真实响应信息,并触发所述第一获取单元获取所述浏览器客户端生成的网页访问请求。
37.在上述实现过程中,当监听到网页访问请求之后,还判断是否开启mock测试,如果开启,则拦截相应的真实响应信息,并进行mock测试流程。
38.进一步地,还包括:
39.返回单元,用于当判断出没有开启所述mock测试时,返回所述网页访问请求对应的真实响应信息。
40.在上述实现过程中,当判断出未开启mock测试时,则返回网页访问请求对应的真实响应信息。
41.本技术实施例第三方面提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行本技术实施例第一方面中任一项所述的基于浏览器客户端的测试方法。
42.本技术实施例第四方面提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本技术实施例第一方面中任一项所述的基于浏览器客户端的测试方法。
附图说明
43.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
44.图1为本技术实施例一提供的一种基于浏览器客户端的测试方法的流程示意图;
45.图2为本技术实施例二提供的一种基于浏览器客户端的测试方法的流程示意图;
46.图3为本技术实施例三提供的一种基于浏览器客户端的测试装置的结构示意图;
47.图4为本技术实施例四提供的一种基于浏览器客户端的测试装置的结构示意图;
48.图5为本技术实施例二提供的一种用户实施mock测试的操作流程图;
49.图6为本技术实施例二提供的一种用户选择目标测试接口的示意图;
50.图7为本技术实施例二提供的一种输入mock数据的示意图。
51.图标:a
‑
mock接口列表,b
‑
接口开关,c
‑
想要mock的数据。
具体实施方式
52.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
53.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
54.实施例1
55.请参看图1,图1为本技术实施例提供了一种基于浏览器客户端的测试方法的流程示意图。其中,该基于浏览器客户端的测试方法包括:
56.s101、当开启mock测试时,获取浏览器客户端生成的网页访问请求。
57.本技术实施例中,该基于浏览器客户端的测试方法应用于mock扩展组件,mock扩展组件设置于浏览器客户端上。具体地,该mock扩展组件可以为mock浏览器插件等,对此本技术实施例不作限定。
58.本技术实施例中,使用浏览器插件的形式使用mock,实现动态的选择是不是需要mock。
59.s102、获取网页访问请求对应的mock接口列表以及mock接口列表中每个mock接口对应的接口数据。
60.本技术实施例中,在步骤s102之后,还可以输出mock接口列表以及每个mock接口对应的接口数据,使用可视化的形式,不需要引入新的语法新的概念,就可以实现mock测试功能。
61.s103、根据用户输入的接口选择指令从mock接口列表中确定目标测试接口,以及根据用户输入的数据修改指令对与目标测试接口对应的接口数据进行调整处理,得到与目标测试接口对应的目标测试数据。
62.本技术实施例中,用户只需要选择所需要的测试接口,不需要更改开发者代码,也不需要开发者了解插件代码,就可以实现mock功能。
63.s104、根据目标测试接口和目标测试数据获取测试响应信息。
64.本技术实施例中,mock的数据是由开发者自身绝对要返回什么样的数据,这样即可以满足自身的需要,发明者也不需要了解开发者需要什么样的数据,无需预设固定返回值。
65.s105、根据测试响应信息输出测试结果预览界面。
66.本技术实施例中,实施本实施例提供的基于浏览器客户端的测试方法,能够通过浏览器插件的形式,就可以基于浏览器本身的数据拦截机制,实现在真实的环境下,对数据进行劫持和mock测试,从而在复杂的场景中,选择需要mock的时机。
67.本技术实施例中,该方法的执行主体可以为计算机、服务器等计算装置,对此本实施例中不作任何限定。
68.在本技术实施例中,该方法的执行主体还可以为智能手机、平板电脑等智能设备,对此本实施例中不作任何限定。
69.可见,实施本实施例所描述的基于浏览器客户端的测试方法,能够快速完成测试,不需要编写模拟接口及返回参数,通用性好,测试效率高。
70.实施例2
71.请参看图2,图2为本技术实施例提供的一种基于浏览器客户端的测试方法的流程示意图。如图2所示,其中,该基于浏览器客户端的测试方法包括:
72.s201、监听浏览器客户端是否生成网页访问请求,如果是,执行步骤s202;如果否,继续执行步骤s201监听浏览器客户端是否生成网页访问请求。
73.s202、判断当前是否开启mock测试,如果否,执行步骤s203;如果否,执行步骤s204~步骤s211。
74.s203、返回网页访问请求对应的真实响应信息,并结束本流程。
75.s204、拦截网页访问请求对应的真实响应信息,并步骤s205~步骤s211。
76.本技术实施例中,在每一次请求前对请求进行监控其请求状态,对其的返回值进行劫持,实现mock的目的。然后再执行下述步骤s205~步骤s211,用户只需要输入自己想要得到的数据就可以完成一整个mock测试流程。
77.s205、当开启mock测试时,获取浏览器客户端生成的网页访问请求。
78.s206、获取网页访问请求对应的mock接口列表以及mock接口列表中每个mock接口对应的接口数据。
79.s207、根据用户输入的接口选择指令从mock接口列表中确定目标测试接口,以及根据用户输入的数据修改指令对与目标测试接口对应的接口数据进行调整处理,得到与目标测试接口对应的目标测试数据。
80.作为一种可选的实施方式,在根据用户输入的数据修改指令对与目标测试接口对应的接口数据进行调整处理,得到与目标测试接口对应的目标测试数据之后,方法还包括:
81.存储目标测试接口以及与目标测试接口对应的目标测试数据。
82.在步骤s207之后,还包括以下步骤:
83.s208、接收用户输入的测试启动指令。
84.s209、根据测试启动指令、目标测试接口和目标测试数据,生成测试请求。
85.s210、获取测试请求对应的测试响应信息。
86.本技术实施例中,实施上述步骤s208~步骤s210,能够根据目标测试接口和目标测试数据获取测试响应信息。
87.s211、根据测试响应信息输出测试结果预览界面。
88.请一并参阅图5,图5是本技术实施例提供的一种用户实施mock测试的操作流程图,如图5所示,用户能够通过本技术实施例提供的基于浏览器客户端的测试方法,快速完成mock测试,不需要编写模拟接口及返回参数,通用性好,测试效率高。如图5所示,用户首先要将mock扩展组件(即插件、mock插件)设置于浏览器客户端上,然后在浏览器中访问一个页面,产生一个需要mock的环境,此时,mock扩展组件会监听到浏览器客户端生成了网页访问请求;用户再打开mock扩展组件的控制台,选择是不是需要mock数据;如果需要mock数据,则开启mock测试。
89.请一并参阅图6,图6是本技术实施例提供的一种用户选择目标测试接口的示意图。如图6所示,用户可以从输出的mock接口列表a找到自己想要mock的目标测试接口,用户可以打开如图6所示的接口开关b,另外,还可以手动输入自己想要mock的接口,如果不需要mock,则不开启mock测试,此时,mock扩展组件会返回网页访问请求对应的真实响应信息。
90.请一并参阅图7,图7是本技术实施例提供的一种输入mock数据的示意图。如图7所示,用户在选择好想要mock的接口之后,还可以在需要mock的接口中输入想要mock的数据c,mock插件会自动保存,想要返回的数据,也可以手动保存;插件会把想要mock的接口和想要mock的数据保存在浏览器中,保存在了电脑的硬盘上,这样就不用担心浏览器关闭,导致数据丢失。
91.如图5所示,在每一次需要mock测试的时候,mock插件就会监听这次请求的状态,并且拦截其真实的返回值,然后返回用户自己想要的真实数据。
92.如图5所示,浏览器页面刷新时会重新监听浏览器客户端是否生成网页访问请求。
93.如图5所示,当需要取消mock的时候,就返回真实的数据。
94.如图5所示,等到用户关闭页面,所有需要mock的数据的也就停止。
95.可见,实施本实施例所描述的基于浏览器客户端的测试方法,能够快速完成测试,不需要编写模拟接口及返回参数,通用性好,测试效率高。
96.实施例3
97.请参看图3,图3为本技术实施例提供的一种基于浏览器客户端的测试装置的结构示意图。如图3所示,该基于浏览器客户端的测试装置应用于mock扩展组件,mock扩展组件设置于浏览器客户端上,该基于浏览器客户端的测试装置包括:
98.第一获取单元310,用于当开启mock测试时,获取浏览器客户端生成的网页访问请求;以及获取网页访问请求对应的mock接口列表以及mock接口列表中每个mock接口对应的接口数据。
99.确定单元320,用于根据用户输入的接口选择指令从mock接口列表中确定目标测试接口,以及根据用户输入的数据修改指令对与目标测试接口对应的接口数据进行调整处理,得到与目标测试接口对应的目标测试数据。
100.第二获取单元330,用于根据目标测试接口和目标测试数据获取测试响应信息。
101.输出单元340,用于根据测试响应信息输出测试结果预览界面。
102.本技术实施例中,对于基于浏览器客户端的测试装置的解释说明可以参照实施例1或实施例2中的描述,对此本实施例中不再多加赘述。
103.可见,实施本实施例所描述的基于浏览器客户端的测试装置,能够快速完成测试,不需要编写模拟接口及返回参数,通用性好,测试效率高。
104.实施例4
105.请一并参阅图4,图4是本技术实施例提供的一种基于浏览器客户端的测试装置的结构示意图。其中,图4所示的基于浏览器客户端的测试装置是由图3所示的基于浏览器客户端的测试装置进行优化得到的。如图4所示,基于浏览器客户端的测试装置还包括:
106.监听单元350,用于监听浏览器客户端是否生成网页访问请求;
107.判断单元360,用于当监听到网页访问请求时,判断当前是否开启mock测试;
108.拦截单元370,用于当判断出开启了mock测试时,拦截网页访问请求对应的真实响应信息,并触发第一获取单元获取浏览器客户端生成的网页访问请求。
109.作为一种可选的实施方式,基于浏览器客户端的测试装置还包括:
110.返回单元380,用于当判断出没有开启mock测试时,返回网页访问请求对应的真实响应信息。
111.作为一种可选的实施方式,第二获取单元330包括:
112.接收子单元331,用于接收用户输入的测试启动指令;
113.生成子单元332,用于根据测试启动指令、目标测试接口和目标测试数据,生成测试请求;
114.获取子单元333,用于获取测试请求对应的测试响应信息。
115.作为一种可选的实施方式,基于浏览器客户端的测试装置还包括:
116.存储单元390,用于在根据用户输入的数据修改指令对与目标测试接口对应的接
口数据进行调整处理,得到与目标测试接口对应的目标测试数据之后,存储目标测试接口以及与目标测试接口对应的目标测试数据。
117.本技术实施例中,对于基于浏览器客户端的测试装置的解释说明可以参照实施例1或实施例2中的描述,对此本实施例中不再多加赘述。
118.可见,实施本实施例所描述的基于浏览器客户端的测试装置,能够快速完成测试,不需要编写模拟接口及返回参数,通用性好,测试效率高。
119.本技术实施例提供了一种电子设备,包括存储器以及处理器,存储器用于存储计算机程序,处理器运行计算机程序以使电子设备执行本技术实施例1或实施例2中任一项基于浏览器客户端的测试方法。
120.本技术实施例提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本技术实施例1或实施例2中任一项基于浏览器客户端的测试方法。
121.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
122.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
123.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read
‑
only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
124.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
125.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
126.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
转载请注明原文地址:https://doc.8miu.com/read-1719094.html