1.本技术涉及移动端应用测试的技术领域,具体涉及一种应用内调试工具的打开方法、装置、设备和存储介质。
背景技术:2.随着科技的发展,各种移动端应用层出不穷,在应用上市前需要对其进行测试。
3.在测试阶段需要使用的如环境切换、查看网络日志等调试项目基本存于内部测试包中,通常为了在测试阶段打开这些调试功能,是在设置入口增加一个开关,或者将这些调试功能加入摇一摇。这样的做法需要在业务代码中进行修改,容易导致代码耦合,从而对应用的功能造成影响。例如摇一摇功能,本身有其对应的功能,将其作为调试功能的开关易导致操作冲突。
技术实现要素:4.本技术提供了一种应用内调试工具的打开方法、装置、电子设备和存储介质,为应用提供一种无需侵入业务代码的测试方法,避免了代码耦合,提供便捷的测试入口,可有效提高对应用程序各项功能调试的效率。
5.本技术的实施例第一方面提供了一种应用内调试工具的打开方法,包括:响应于应用启动的触发指令,在应用的交互界面显示悬浮控件;响应于对所述悬浮控件的点击操作,在所述应用的交互界面显示一级测试菜单;所述一级测试菜单包含若干功能入口,所述功能入口与测试业务对应;响应于对所述一级测试菜单中指定功能入口的点击操作,执行所述指定功能入口对应的测试业务。
6.于一实施例中,所述响应于应用启动的触发指令,在应用的交互界面显示悬浮控件,包括:响应于应用启动的触发指令,在所述应用的交互界面的任意边缘位置显示所述悬浮控件。
7.于一实施例中,所述响应于应用启动的触发指令,在应用的交互界面显示悬浮控件之后,所述方法还包括:根据对所述悬浮控件触发的拖动操作,控制所述悬浮控件按照所述拖动操作的拖动轨迹移动至所述交互界面边缘的目标位置。
8.于一实施例中,所述响应于对所述一级测试菜单中指定功能入口的点击操作,执行所述指定功能入口对应的测试业务,包括:响应于对所述一级测试菜单中指定功能入口的点击操作,所述一级测试菜单关闭,显示所述指定功能对应的二级测试菜单,所述二级测试菜单包含若干功能入口,所述功能入口与测试业务对应;响应于对所述二级测试菜单中指定功能入口的点击操作,执行所述功能入口对应的测试业务。
9.于一实施例中,所述二级测试菜单还包括返回入口;响应于对所述返回入口的点击操作,所述二级测试菜单关闭,显示一级测试菜单。
10.于一实施例中,所述响应于应用启动的触发指令,在应用的交互界面显示悬浮控件之前,所述方法还包括:通过注册服务存储所述一级测试菜单中若干功能入口的信息以
及回调函数;所述信息包括所述功能入口的名称、展示图标。
11.于一实施例中,所述响应于对所述一级测试菜单中指定功能入口的点击操作,执行所述指定功能入口对应的测试业务,包括:响应于对所述一级测试菜单中指定功能入口的点击操作时,调用所述注册服务对应的接口打开调试工具,并通过所述调试工具执行所述指定功能入口对应的测试业务。
12.本技术实施例第二方面提供了一种应用内调试工具的打开装置,所述装置包括:显示模块,用于响应于应用启动的触发指令,在应用的交互界面显示悬浮控件;第一执行模块,用于响应于对所述悬浮控件的点击操作,在所述应用的交互界面显示一级测试菜单;所述一级测试菜单包含若干功能入口,所述功能入口与测试业务对应;第二执行模块,用于响应于对所述一级测试菜单中指定功能入口的点击操作,执行所述指定功能入口对应的测试业务。
13.本技术实施例第三方面提供了一种电子设备,包括存储器,用于存储计算机程序;处理器,用于执行所述计算机程序,以实现本技术实施例第一方面及其任一实施例的方法。
14.本技术实施例第四方面提供了一种存储介质,包括:程序,当其藉由电子设备运行时,使得所述电子设备执行本技术实施例第一方面及其任一实施例的应用内调试工具的打开方法。
15.本技术提供的应用内调试工具的打开方法、装置、设备和存储介质,当应用程序启动时,会在应用的交互界面显示悬浮控件,点击该悬浮控件可打开测试菜单,测试菜单中包含了若干用于调试应用的入口,点击对应入口即可执行对应的测试功能。由于测试功能较多,因此会将同类测试功能归为大类,在测试菜单显示该测试功能的大类名称,点击该大类名称,即可进入二级测试菜单,二级测试菜单包含该测试功能大类对应的若干具体测试功能入口,点击指定测试功能入口即可执行该测试功能。在执行测试功能时,测试菜单关闭。悬浮控件停靠于该应用交互界面的任意一边缘位置,且可由手指拖动至应用交互界面的任意位置。相比于当前需要在应用的某一功能增加入口的应用调试工具,本技术提供的方法不会侵入业务代码,方便修改,快捷的打开方式可提高对应用各功能进行测试的效率,且可拖动的悬浮控件不影响在应用界面的浏览操作。
附图说明
16.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
17.图1为本技术一实施例提供的电子设备的结构示意图;
18.图2为本技术一实施例提供的应用内调试工具的打开方法的流程示意图;
19.图3为本技术一实施例提供的应用内调试工具的打开方法的流程示意图;
20.图4为本技术一实施例提供的应用内调试工具的打开方法的流程示意图;
21.图5为本技术一实施例提供的应用内调试工具的打开装置的结构示意图。
22.图标:100
‑
电子设备;101
‑
总线;102
‑
存储器;103
‑
处理器;500
‑
应用内调试工具的打开装置;510
‑
显示模块;520
‑
第一执行模块;530
‑
第二执行模块。
具体实施方式
23.在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,并不表示排列序号,也不能理解为指示或暗示相对重要性。
24.在本技术的描述中,术语“包括”、“包含”等表示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、步骤、操作、元素、组件和/或其集合的存在或添加。
25.在本技术的描述中,除非另有明确的规定和限定,术语“安装”、“设置”、“设有”、“连接”、“配置为”应做广义理解。例如,可以是固定连接,也可以是可拆卸连接,或整体式构造;可以是机械连接,也可以是电连接;可以是直接相连,也可以是通过中间媒介间接相连,又或者是两个装置、元件或组成部分之间内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本技术中的具体含义。
26.下面将结合附图对本技术的技术方案进行清楚、完整地描述。
27.请参照图1,其为本技术一实施例提供的电子设备100的结构示意图,该电子设备100可以用于执行本技术实施例提供的应用内调试工具的打开方法。电子设备100包括:至少一个处理器103、至少一个存储器102和总线101,总线101用于实现这些组件的连接通信。
28.于一实施例中,电子设备100可以是平板电脑、智能手机等。电子设备100的操作系统包括但不限于ios、android(安卓)、windows phone(微软)等。在这些操作系统中,可以同时运行应用程序和调试程序。
29.于一实施例中,存储器102可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,包括但不限于,随机存取存储器102(random access memory,ram),只读存储器102(read only memory,rom),静态随机存取存储器102(static random access memory,简称sram),可编程只读存储器102(programmable read
‑
only memory,prom),可擦除只读存储器102(erasable programmable read
‑
only memory,eprom),电可擦除只读存储器102(electric erasable programmable read
‑
only memory,eeprom)。
30.于一实施例中,处理器103可以是通用处理器103,包括但不限于中央处理器103(central processing unit,cpu)、网络处理器103(network processor,np)等,还可以是数字信号处理器103(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器103可以是微处理器103或者该处理器103也可以是任何常规的处理器103等,处理器103是电子设备100的控制中心,利用各种接口和线路连接整个电子设备100的各个部分。处理器103可以实现或者执行本技术实施例中公开的各方法、步骤及逻辑框图。
31.于一实施例中,图1以一个处理器103和一个存储器102为例,处理器103和存储器102通过总线101连接,存储器102存储有可被处理器103执行的指令,指令被处理器103执行,以使电子设备100可执行下述的实施例中方法的全部流程或部分流程,以打开调试工具对应用进行调试。
32.请参照图2,其为本技术一实施例提供的应用内调试工具的打开方法的流程示意图,该方法可由图1所示的电子设备100执行,该方法包括s210
‑
s230。
33.s210:响应于应用启动的触发指令,在应用的交互界面显示悬浮控件。
34.本步骤中,应用包括电子设备中安装的应用程序,应用程序包括但不限于游戏应用、聊天应用、浏览器应用等等。应用启动即为打开该应用软件,该应用软件处于运行且可操作的状态。在启动后的应用程序的交互界面显示一个悬浮控件。
35.于一实施例中,响应于应用启动的触发指令,在应用的交互界面的任意边缘位置显示悬浮控件。
36.当应用程序启动,将在该应用的交互界面显示悬浮控件,在初始状态下,该悬浮控件会停靠于该交互界面任意一边缘位置,并且该悬浮控件具有初始透明度,该初始透明度高于应用的交互界面的透明度,因此该悬浮控件不会遮挡该应用程序的交互界面,不影响对该应用程序的浏览与操作。
37.于一实施例中,根据对悬浮控件触发的拖动操作,控制悬浮控件按照拖动操作的拖动轨迹移动至交互界面边缘的目标位置。
38.该悬浮控件支持被拖动,当按住该悬浮控件进行拖动,悬浮控件将沿着拖动轨迹在应用的交互界面上移动,直至拖动操作停止,悬浮控件将停靠于拖动轨迹的终点位置靠近的那一侧交互界面的边缘位置。当悬浮控件被拖动时,悬浮控件的透明度降低。当悬浮控件静置停靠于应用的交互界面任意一边缘位置时,悬浮控件的透明度提高至初始透明度。
39.s220:响应于对悬浮控件的点击操作,在应用的交互界面显示一级测试菜单。
40.本步骤中,点击该悬浮控件,将会显示一级测试菜单。该一级测试菜单包含若干功能入口,所有功能入口与测试业务对应。测试业务包含网络相关、数据相关、ui(user interface,使用者界面)相关、rn(react native,一种开发框架)工具等多种测试项目,用于在应用的测试阶段判断该应用在对应功能下的可行性。
41.由于测试业务种类繁多,但是测试菜单的界面面积有限,为了尽可能地将所有在应用测试阶段需要采用的测试业务容纳进测试菜单,因此根据测试业务的种类进行分类,将同类型的测试业务归于一类并命名该类别,例如网络相关,则包含与网络有关的多项测试业务,在一级测试菜单显示该类别名称。若测试业务不属于某一大类,可在一级测试菜单直接显示该测试业务的功能入口。
42.s230:响应于对一级测试菜单中指定功能入口的点击操作,执行指定功能入口对应的测试业务。
43.本步骤中,由于功能入口与测试业务对应,因此,当检测到对一级测试菜单中的功能入口的点击操作,响应于对一级测试菜单中指定功能入口的点击操作,执行指定功能入口对应的测试业务。
44.于一实施例中,当所点击的一级测试菜单中某一功能未被归类,则点击该入口后响应于对该功能入口的点击操作,执行该指定功能入口对应的测试业务。
45.请参照图3,其为本技术一实施例提供的应用内调试工具的打开方法的流程示意图,该方法可由图1所示的电子设备100执行,该方法包括s310
‑
s370。
46.s310:响应于应用启动的触发指令,在应用的交互界面显示悬浮控件。
47.s320:响应于对悬浮控件的点击操作,在应用的交互界面显示一级测试菜单。
48.s310
‑
s320与上述实施例中s210
‑
s220相似,详细参见上述实施例中的描述,在此不再赘述。
49.s330:点击一级测试菜单中指定功能入口。
50.由于测试业务种类繁多,但是测试菜单的界面面积有限,为了尽可能地将所有在应用测试阶段需要采用的测试业务容纳进测试菜单,因此根据测试业务的种类进行分类,将同类型的测试业务归于一类并命名该类别,例如网络相关,则包含与网络有关的多项测试业务,在一级测试菜单显示该类别名称。若测试业务不属于某一大类,可在一级测试菜单直接显示该测试业务的功能入口。
51.在该步骤中,所点击的一级测试菜单中的功能入口可能是某类测试业务的名称,也可能是未被归类的测试业务的功能入口。
52.s340:若功能入口名称不是类别名称,响应于对指定功能入口的点击操作,执行功能入口对应的测试业务。
53.在该步骤中,若所点击的一级测试菜单中的功能入口并非为类别名称,即该功能入口对应的测试业务未被归类,那么响应于对该功能入口的点击操作后,将直接执行该功能入口对应的测试业务。该步骤与上述实施例中s230相似,在此不再赘述。
54.s350:若功能入口名称是类别名称,一级测试菜单关闭,显示指定功能对应的二级测试菜单。
55.在该步骤中,若所点击的一级测试菜单中的功能入口名称为某类测试业务的类别名称,那么该一级测试菜单将关闭,显示该类别所属的二级测试菜单。二级测试菜单包含若干功能入口,功能入口与测试业务对应。例如,将与网络测试有关的测试业务归类于网络相关,将该被命名为“网络相关”的入口列于一级测试菜单,点击该入口,则显示对应的二级测试菜单,该二级测试菜单包含网络监控、域名映射、环境切换等多项测试业务的功能入口。
56.同时,二级测试菜单还包括返回入口,返回入口可用于将二级测试菜单关闭并显示一级测试菜单。
57.s360:响应于对二级测试菜单中指定功能入口的点击操作,执行功能入口对应的测试业务。
58.s370:响应于对返回入口的点击操作,二级测试菜单关闭,显示一级测试菜单。
59.在该步骤中,若点击的是二级测试菜单中的返回入口,那么将关闭该二级测试菜单,在应用交互界面显示一级测试菜单,返回s330,此时可继续选择其他类别的测试业务对该应用进行调试。
60.请参照图4,其为本技术一实施例提供的应用内调试工具的打开方法的流程示意图。该方法可由图1所示的电子设备100执行,该方法用于在响应于应用启动的触发指令,在应用的交互界面显示悬浮控件之前,还包括s410
‑
s430。
61.s410:通过注册服务存储一级测试菜单中若干功能入口的信息以及回调函数。
62.在该步骤中,信息包括功能入口对应的测试业务的名称、展示图标等等。注册服务用于将一级测试菜单中的若干功能入口的对应的测试业务的名称、展示图标等信息以及回调函数存储于该应用程序的内存中,回调函数是一个被作为参数传递的函数。
63.测试业务为若干个在应用程序的测试阶段,可对应用的网络、交互界面、环境等多个方面进行查看与调试的计算机程序,在调试工具中包含上述若干测试业务。
64.应用程序的代码与调试工具中测试业务的代码互相独立,可同时运行于电子设备中。因此,相关人员可方便地对测试功能入口的信息进行增加、删除和修改等操作,该操作不会影响应用程序的本身的运行,可以保证应用测试阶段的稳定与便捷。
65.s420:响应于对一级测试菜单中指定功能入口的点击操作时,调用注册服务对应的接口打开调试工具。
66.在该步骤中,当接收到对测试菜单中某一指定功能入口的点击操作后,通过调用接口读取s410中通过注册服务存储于内存的测试业务信息,从而打开调试工具。
67.s430:通过调试工具执行指定功能入口对应的测试业务。
68.在该步骤中,调试工具包含若干测试业务,当接收到对测试菜单中指定功能入口的点击操作后,将执行该指定功能入口对应的测试业务。
69.请参照图5,其为本技术一实施例提供的应用内调试工具的打开装置500的结构示意图,装置500包括:显示模块510,用于响应于应用启动的触发指令,在应用的交互界面显示悬浮控件;第一执行模块520,用于响应于对悬浮控件的点击操作,在应用的交互界面显示一级测试菜单;一级测试菜单包含若干功能入口,功能入口与测试业务对应;第二执行模块530,用于响应于对一级测试菜单中指定功能入口的点击操作,执行指定功能入口对应的测试业务。
70.于一实施例中,显示模块510用于响应于应用启动的触发指令,在应用的交互界面显示悬浮控件。其中,当应用程序启动,将在该应用的交互界面显示悬浮控件,在初始状态下,该悬浮控件会停靠于该交互界面任意一边缘位置,并且该悬浮控件具有初始透明度,该初始透明度高于应用的交互界面的透明度,因此该悬浮控件不会遮挡该应用程序的交互界面,不影响对该应用程序的浏览与操作。
71.于一实施例中,显示模块510还可用于根据对悬浮控件触发的拖动操作,控制悬浮控件按照拖动操作的拖动轨迹移动至交互界面边缘的目标位置。
72.该悬浮控件支持被拖动,当按住该悬浮控件进行拖动,悬浮控件将沿着拖动轨迹在应用的交互界面上移动,直至拖动操作停止,悬浮控件将停靠于拖动轨迹的终点位置靠近的那一侧交互界面的边缘位置。当悬浮控件被拖动时,悬浮控件的透明度降低。当悬浮控件静置停靠于应用的交互界面任意一边缘位置时,悬浮控件的透明度提高至初始透明度。
73.于一实施例中,第一执行模块520用于响应于对悬浮控件的点击操作,在应用的交互界面显示一级测试菜单。
74.本步骤中,点击该悬浮控件,将会显示一级测试菜单。该一级测试菜单包含若干功能入口,功能入口与测试业务对应。测试业务包含网络相关、数据相关、ui(user interface,使用者界面)相关、rn(react native,一种开发框架)工具等多种测试项目,用于在应用的测试阶段判断该应用在对应功能下的可行性。
75.由于测试业务种类繁多,但是测试菜单的界面面积有限,为了尽可能地将所有在应用测试阶段需要采用的测试业务容纳进测试菜单,因此根据测试业务的种类进行分类,将同类型的测试业务归于一类并命名该类别,例如网络相关,则包含与网络有关的多项测试业务,在一级测试菜单显示该类别名称。若测试业务不属于某一大类,可在一级测试菜单直接显示该测试业务的功能入口。
76.于一实施例中,第二执行模块530用于响应于对一级测试菜单中指定功能入口的点击操作,执行指定功能入口对应的测试业务。
77.上述应用内调试工具的打开装置500的详细描述,请参见上述实施例中相关方法步骤的描述。
78.本技术一实施例还提供了一种存储介质,包括:程序,当其藉由电子设备100运行时,使得电子设备100可执行上述实施例中方法的全部或部分流程。其中,存储介质可为磁盘、光盘、只读存储记忆体(read
‑
only memory,rom)、随机存储记忆体(random access memory,ram)、快闪存储器102(flash memory)、硬盘(hard disk drive,缩写:hdd)或固态硬盘(solid
‑
state drive,ssd)等。存储介质还可以包括上述种类的存储器102的组合。
79.功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read
‑
only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
80.以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。