首页 / 专利库 / 资料储存系统 / 树遍历 / 快应用的调试方法及装置、介质

快应用的调试方法及装置、介质

阅读:183发布:2020-05-12

专利汇可以提供快应用的调试方法及装置、介质专利检索,专利查询,专利分析的服务。并且本公开是关于一种快应用的调试方法及装置、介质,涉及移动终端的快应用技术。本公开提供的一种快应用的调试方法包括:检测到针对快应用的调试操作;对快应用对应的每一层级的搜索 节点 进行搜索;当当前搜索的层级内包含调试操作对应的目标坐标时,将当前搜索的层级的下一个层级确定为继续搜索的层级并进行搜索,直到搜索的层级内未包含目标坐标;将未包含目标坐标的层级的上一个层级内包含目标坐标的搜索节点确定为目标节点;将目标节点的节点信息反馈给快应用的调试端。可见,本公开的技术方案无需遍历整个DOM树的所有节点,缩短了搜索时间,提高了快应用的调试效率。,下面是快应用的调试方法及装置、介质专利的具体信息内容。

1.一种快应用的调试方法,应用于终端设备中,其特征在于,包括:
检测到针对快应用的调试操作;
对所述快应用对应的每一层级的搜索节点进行搜索;
当当前搜索的层级内包含所述调试操作对应的目标坐标时,将所述当前搜索的层级的下一个层级确定为继续搜索的层级并进行搜索,直到搜索的层级内未包含所述目标坐标;
将未包含所述目标坐标的层级的上一个层级内包含所述目标坐标的搜索节点确定为目标节点;
将所述目标节点的节点信息反馈给所述快应用的调试端。
2.根据权利要求1所述的调试方法,其特征在于,所述对快应用对应的每一层级的搜索节点进行搜索,包括:
将所述快应用对应的节点树的根节点确定为第一层级的搜索节点,对所述第一层级的搜索节点进行搜索;
将根节点的下一级子节点确定为第二层级的搜索节点,对所述第二层级的搜索节点进行搜索;
按照所述节点树的层级顺序,确定每一层级的搜索节点,并对所述确定的每一层级的搜索节点进行搜索。
3.根据权利要求1或2所述的调试方法,其特征在于,所述将所述当前搜索的层级的下一个层级确定为继续搜索的层级并进行搜索,包括:
所述当前搜索的层级内的搜索节点包含所述目标坐标时,将所述当前搜索的层级的下一层级确定为继续搜索的层级,并确定所述继续搜索的层级内的搜索节点,其中,所述继续搜索的层级内的搜索节点为所述包含所述目标坐标的搜索节点的子节点;
在所述确定的继续搜索的层级的搜索节点中,进行搜索操作。
4.根据权利要求3所述的调试方法,其特征在于,所述确定所述继续搜索的层级内的搜索节点,包括:
确定所述当前搜索的层级内包含所述目标坐标的搜索节点的结构类型为列表结构类型时,将所述列表结构类型的搜索节点的所有子节点中,在当前时刻所述终端设备的显示屏幕上显示的子节点确定为继续搜索的层级的搜索节点。
5.根据权利要求3所述的调试方法,其特征在于,所述确定所述继续搜索的层级内的搜索节点,包括:
确定所述当前搜索的层级内包含所述目标坐标的搜索节点的结构类型为层叠结构类型时,将所述层叠结构类型的搜索节点的所有子节点确定为继续搜索的层级的搜索节点。
6.根据权利要求5所述的调试方法,其特征在于,所述方法还包括:
至少在两个搜索节点中搜索到所述目标坐标时,对比搜索到所述目标坐标的搜索节点的深度,将深度值最大的搜索节点确定为继续搜索的层级内包含所述目标坐标的搜索节点。
7.根据权利要求6所述的调试方法,其特征在于,所述方法还包括:
当深度值最大的搜索节点包括至少两个节点时,按照预设规则将深度值最大的搜索节点中的一个搜索节点,确定为继续搜索的层级内包含所述目标坐标的搜索节点。
8.根据权利要求1所述的调试方法,其特征在于,所述方法还包括:
从所述调试操作中获取调试端的坐标信息,将所述调试端的坐标信息转换为终端设备的坐标系中的坐标信息,将转换得到的所述调试端的坐标信息在所述终端设备的坐标系中的坐标信息确定为所述调试操作对应的目标坐标。
9.一种快应用的调试装置,其特征在于,包括:
第一模,用于检测针对快应用的调试操作;
第二模块,用于对所述快应用对应的每一层级的搜索节点进行搜索;
第三模块,用于当当前搜索的层级内包含所述调试操作对应的目标坐标时,将所述当前搜索的层级的下一个层级确定为继续搜索的层级并进行搜索,直到搜索的层级内未包含所述目标坐标;
第四模块,用于将未包含所述目标坐标的层级的上一个层级内包含所述目标坐标的搜索节点确定为目标节点;
第五模块,用于将所述目标节点的节点信息反馈给所述快应用的调试端。
10.根据权利要求9所述的调试装置,其特征在于,所述对快应用对应的每一层级的搜索节点进行搜索,包括:
将所述快应用对应的节点树的根节点确定为第一层级的搜索节点,对所述第一层级的搜索节点进行搜索;
将根节点的下一级子节点确定为第二层级的搜索节点,对所述第二层级的搜索节点进行搜索;
按照所述节点树的层级顺序,确定每一层级的搜索节点,并对所述确定的每一层级的搜索节点进行搜索。
11.根据权利要求9或10所述的调试装置,其特征在于,所述将所述当前搜索的层级的下一个层级确定为继续搜索的层级并进行搜索,包括:
所述当前搜索的层级内的搜索节点包含所述目标坐标时,将所述当前搜索的层级的下一层级确定为继续搜索的层级,并确定所述继续搜索的层级内的搜索节点,其中,所述继续搜索的层级内的搜索节点为所述包含所述目标坐标的搜索节点的子节点;
在所述确定的继续搜索的层级的搜索节点中,进行搜索操作。
12.根据权利要求11所述的调试装置,其特征在于,所述确定所述继续搜索的层级内的搜索节点,包括:
确定所述当前搜索的层级内包含所述目标坐标的搜索节点的结构类型为列表结构类型时,将所述列表结构类型的搜索节点的所有子节点中,在当前时刻所述终端设备的显示屏幕上显示的子节点确定为继续搜索的层级的搜索节点。
13.根据权利要求11所述的调试装置,其特征在于,所述确定所述继续搜索的层级内的搜索节点,包括:
确定所述当前搜索的层级内包含所述目标坐标的搜索节点的结构类型为层叠结构类型时,将所述层叠结构类型的搜索节点的所有子节点确定为继续搜索的层级的搜索节点。
14.根据权利要求13所述的调试装置,其特征在于,所述装置还包括:
第六模块,用于至少在两个搜索节点中搜索到所述目标坐标时,对比搜索到所述目标坐标的搜索节点的深度,将深度值最大的搜索节点确定为继续搜索的层级内包含所述目标坐标的搜索节点。
15.根据权利要求14所述的调试装置,其特征在于,所述调试装置还包括:
第七模块,用于当深度值最大的搜索节点包括至少两个节点时,按照预设规则将深度值最大的搜索节点中的一个搜索节点,确定为继续搜索的层级内包含所述目标坐标的搜索节点。
16.根据权利要求9所述的调试装置,其特征在于,所述调试装置还包括:
第八模块,用于从所述调试操作中获取调试端的坐标信息,将所述调试端的坐标信息转换为终端设备的坐标系中的坐标信息,将转换得到的所述调试端的坐标信息在所述终端设备的坐标系中的坐标信息确定为所述调试操作对应的目标坐标。
17.一种快应用的调试装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器
其中,所述处理器被配置为:
检测到针对快应用的调试操作;
对所述快应用对应的每一层级的搜索节点进行搜索;
当当前搜索的层级内包含所述调试操作对应的目标坐标时,将所述当前搜索的层级的下一个层级确定为继续搜索的层级并进行搜索,直到搜索的层级内未包含所述目标坐标;
将未包含所述目标坐标的层级的上一个层级内包含所述目标坐标的搜索节点确定为目标节点;
将所述目标节点的节点信息反馈给所述快应用的调试端。
18.一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端设备的处理器执行时,使得终端设备能够执行一种快应用的调试方法,所述方法包括:
检测到针对快应用的调试操作;
对所述快应用对应的每一层级的搜索节点进行搜索;
当当前搜索的层级内包含所述调试操作对应的目标坐标时,将所述当前搜索的层级的下一个层级确定为继续搜索的层级并进行搜索,直到搜索的层级内未包含所述目标坐标;
将未包含所述目标坐标的层级的上一个层级内包含所述目标坐标的搜索节点确定为目标节点;
将所述目标节点的节点信息反馈给所述快应用的调试端。

说明书全文

快应用的调试方法及装置、介质

技术领域

[0001] 本公开涉及移动终端的快应用技术,尤其涉及一种快应用的调试方法及装置、介质。

背景技术

[0002] 快应用是基于手机硬件平台的新型应用形态,由开发者编写一套JS代码,可以在Android、IOS、WebView等多端运行。开发者可以类似编写传统HTML的形式来开发程序。该程序从数据度可以分为组件树(DOM,Document Object Model,文档对象模型)、层叠样式表(CSS,Cascading Style Sheets)、逻辑(JS代码,JavaScript)。从组成上可以分为配置文件(manifest.json),全局文件(app.js),页面文件(page)。打包后会形成rpk文件,该打包文件即为快应用的app。
[0003] 其中,快应用的调试一般采用Devtools作为调试前端界面,手机硬件上运行快应用后端,通过数据传输协议进行通讯。快应用后端又可以细分为平台与调试内核。调试内核负责与调试前端与平台的桥梁发明内容
[0004] 为克服相关技术中存在的问题,本公开提供一种快应用的调试方法及装置、介质。
[0005] 根据本公开实施例的第一方面,提供一种快应用的调试方法,应用于终端设备中,包括:
[0006] 检测到针对快应用的调试操作;
[0007] 对所述快应用对应的每一层级的搜索节点进行搜索;
[0008] 当当前搜索的层级内包含所述调试操作对应的目标坐标时,将所述当前搜索的层级的下一个层级确定为继续搜索的层级并进行搜索,直到搜索的层级内未包含所述目标坐标;
[0009] 将未包含所述目标坐标的层级的上一个层级内包含所述目标坐标的搜索节点确定为目标节点;
[0010] 将所述目标节点的节点信息反馈给所述快应用的调试端。
[0011] 可选地,上述调试方法中,所述对快应用对应的每一层级的搜索节点进行搜索,包括:
[0012] 将所述快应用对应的节点树的根节点确定为第一层级的搜索节点,对所述第一层级的搜索节点进行搜索;
[0013] 将根节点的下一级子节点确定为第二层级的搜索节点,对所述第二层级的搜索节点进行搜索;
[0014] 按照所述节点树的层级顺序,确定每一层级的搜索节点,并对所述确定的每一层级的搜索节点进行搜索。
[0015] 可选地,上述调试方法中,所述将所述当前搜索的层级的下一个层级确定为继续搜索的层级并进行搜索,包括:
[0016] 所述当前搜索的层级内的搜索节点包含所述目标坐标时,将所述当前搜索的层级的下一层级确定为继续搜索的层级,并确定所述继续搜索的层级内的搜索节点,其中,所述继续搜索的层级内的搜索节点为所述包含所述目标坐标的搜索节点的子节点;
[0017] 在所述确定的继续搜索的层级的搜索节点中,进行搜索操作。
[0018] 可选地,上述调试方法中,所述确定所述继续搜索的层级内的搜索节点,包括:
[0019] 确定所述当前搜索的层级内包含所述目标坐标的搜索节点的结构类型为列表结构类型时,将所述列表结构类型的搜索节点的所有子节点中,在当前时刻所述终端设备的显示屏幕上显示的子节点确定为继续搜索的层级的搜索节点。
[0020] 可选地,上述调试方法中,所述确定所述继续搜索的层级内的搜索节点,包括:
[0021] 确定所述当前搜索的层级内包含所述目标坐标的搜索节点的结构类型为层叠结构类型时,将所述层叠结构类型的搜索节点的所有子节点确定为继续搜索的层级的搜索节点。
[0022] 可选地,上述调试方法还包括:
[0023] 至少在两个搜索节点中搜索到所述目标坐标时,对比搜索到所述目标坐标的搜索节点的深度,将深度值最大的搜索节点确定为继续搜索的层级内包含所述目标坐标的搜索节点。
[0024] 可选地,上述调试方法还包括:
[0025] 当深度值最大的搜索节点包括至少两个节点时,按照预设规则将深度值最大的搜索节点中的一个搜索节点,确定为继续搜索的层级内包含所述目标坐标的搜索节点。
[0026] 可选地,上述调试方法还包括:
[0027] 从所述调试操作中获取调试端的坐标信息,将所述调试端的坐标信息转换为终端设备的坐标系中的坐标信息,将转换得到的所述调试端的坐标信息在所述终端设备的坐标系中的坐标信息确定为所述调试操作对应的目标坐标。
[0028] 根据本公开实施例的第二方面,提供一种快应用的调试装置,包括:
[0029] 第一模,用于检测针对快应用的调试操作;
[0030] 第二模块,用于对所述快应用对应的每一层级的搜索节点进行搜索;
[0031] 第三模块,用于当当前搜索的层级内包含所述调试操作对应的目标坐标时,将所述当前搜索的层级的下一个层级确定为继续搜索的层级并进行搜索,直到搜索的层级内未包含所述目标坐;
[0032] 第四模块,用于将未包含所述目标坐标的层级的上一个层级内包含所述目标坐标的搜索节点确定为目标节点;
[0033] 第五模块,用于将所述目标节点的节点信息反馈给所述快应用的调试端。
[0034] 可选地,上述调试装置中,所述对快应用对应的每一层级的搜索节点进行搜索,包括:
[0035] 将所述快应用对应的节点树的根节点确定为第一层级的搜索节点,对所述第一层级的搜索节点进行搜索;
[0036] 将根节点的下一级子节点确定为第二层级的搜索节点,对所述第二层级的搜索节点进行搜索;
[0037] 按照所述节点树的层级顺序,确定每一层级的搜索节点,并对所述确定的每一层级的搜索节点进行搜索。
[0038] 可选地,上述调试装置中,所述将所述当前搜索的层级的下一个层级确定为继续搜索的层级并进行搜索包括:
[0039] 所述当前搜索的层级内的搜索节点包含所述目标坐标时,将所述当前搜索的层级的下一层级确定为继续搜索的层级,并确定所述继续搜索的层级内的搜索节点,其中,所述继续搜索的层级内的搜索节点为所述包含所述目标坐标的搜索节点的子节点;
[0040] 在所述确定的继续搜索的层级的搜索节点中,进行搜索操作。
[0041] 可选地,上述调试装置中,所述确定所述继续搜索的层级内的搜索节点,包括:
[0042] 确定所述当前搜索的层级内包含所述目标坐标的搜索节点的结构类型为列表结构类型时,将所述列表结构类型的搜索节点的所有子节点中,在当前时刻所述终端设备的显示屏幕上显示的子节点确定为继续搜索的层级的搜索节点。
[0043] 可选地,上述调试装置中,所述确定所述继续搜索的层级内的搜索节点,包括:
[0044] 确定所述当前搜索的层级内包含所述目标坐标的搜索节点的结构类型为层叠结构类型时,将所述层叠结构类型的搜索节点的所有子节点确定为继续搜索的层级的搜索节点。
[0045] 可选地,上述调试装置还包括:
[0046] 第六模块,用于至少在两个搜索节点中搜索到所述目标坐标时,对比搜索到所述目标坐标的搜索节点的深度,将深度值最大的搜索节点确定为继续搜索的层级内包含所述目标坐标的搜索节点。
[0047] 可选地,上述调试装置还包括:
[0048] 第七模块,用于当深度值最大的搜索节点包括至少两个节点时,按照预设规则将深度值最大的搜索节点中的一个搜索节点,确定为继续搜索的层级内包含所述目标坐标的搜索节点。
[0049] 可选地,上述调试装置中,所述调试装置还包括:
[0050] 第八模块,用于从所述调试操作中获取调试端的坐标信息,将所述调试端的坐标信息转换为终端设备的坐标系中的坐标信息,将转换得到的所述调试端的坐标信息在所述终端设备的坐标系中的坐标信息确定为所述调试操作对应的目标坐标。
[0051] 根据本公开实施例的第三方面,提供一种快应用的调试装置,包括:
[0052] 处理器;
[0053] 用于存储处理器可执行指令的存储器
[0054] 其中,所述处理器被配置为:
[0055] 检测到针对快应用的调试操作;
[0056] 对所述快应用对应的每一层级的搜索节点进行搜索;
[0057] 当当前搜索的层级内包含所述调试操作对应的目标坐标时,将所述当前搜索的层级的下一个层级确定为继续搜索的层级并进行搜索,直到搜索的层级内未包含所述目标坐标;
[0058] 将未包含所述目标坐标的层级的上一个层级内包含所述目标坐标的搜索节点确定为目标节点;
[0059] 将所述目标节点的节点信息反馈给所述快应用的调试端。
[0060] 根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端设备的处理器执行时,使得终端设备能够执行一种快应用的调试方法,所述方法包括:
[0061] 检测到针对快应用的调试操作;
[0062] 对所述快应用对应的每一层级的搜索节点进行搜索;
[0063] 当当前搜索的层级内包含所述调试操作对应的目标坐标时,将所述当前搜索的层级的下一个层级确定为继续搜索的层级并进行搜索,直到搜索的层级内未包含所述目标坐标;
[0064] 将未包含所述目标坐标的层级的上一个层级内包含所述目标坐标的搜索节点确定为目标节点;
[0065] 将所述目标节点的节点信息反馈给所述快应用的调试端。
[0066] 本公开的实施例提供的技术方案可以包括以下有益效果:
[0067] 本公开的技术方案基于DOM树的结构特征,逐层进行目标坐标的搜索操作。且在每个层级的搜索操作之前确定该层级内需要进行搜索的节点,仅在确定的节点内进行搜索操作。可见,本公开的技术方案无需遍历整个DOM树的所有节点,缩短了搜索时间,提高了快应用的调试效率。
[0068] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明
[0069] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
[0070] 图1是相关技术中快应用调试过程中根据调试器坐标获取目标节点的方法流程示意图。
[0071] 图2是根据一示例性实施例示出的一种快应用的调试方法的流程图
[0072] 图3是根据一示例性实施例示出的一种快应用的调试方法的具体流程图。
[0073] 图4是根据一示例性实施例示出的一种快应用的调试装置的框图
[0074] 图5是根据一示例性实施例示出的一种快应用的调试装置的框图。

具体实施方式

[0075] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0076] 相关技术中,快应用的页面文件中通过标签(类似传统HTML标签)来描述页面的结构时,每个标签对应一个快应用的DOM节点。每个DOM节点都占用了一个矩形显示区域,该矩形显示区域范围可通过该DOM节点对应的矩形显示区域的左上角顶点坐标以及矩形显示区域的宽和高来表示。
[0077] 上述快应用的页面文件描述的DOM节点的结构即为快应用对应的DOM树。
[0078] 在快应用试时,手机终端会定时对快应用截屏,并将截屏数据压缩后通过网络协议发送至调试前端。调试前端解压后会将图像在指定的浏览器窗口进行展示,此时浏览器上任意一点的图像坐标可被称作调试器坐标。一般调试器的坐标系以窗口左上方顶点为原点,从原点开始向右平延伸为横轴,从原点开始向下垂直延伸为纵轴。.[0079] 在进行快应用的调试时,当开发者在调试前端中点击截图的某一位置,希望手机终端返回该位置对应的实际快应用节点信息。此时,调试前端会将调试器坐标发送至手机终端。手机终端需要处理并返回对应的节点信息。该过程可分为两个步骤:一是根据调试器坐标找到对应的DOM节点。二是根据DOM节点描述其BOX盒模型并返回到调试器前端。
[0080] 目前,快应用的调试过程一般会采用如图1所示的方法流程获取调试器坐标对应的目标节点。从图1可以看出,相关技术中,手机终端接收到调试器坐标并将其转换为手机上的真实坐标后,遍历快应用对应的DOM树的所有节点。将包含该真实坐标的所有节点进行汇总,并计算汇总的这些节点的深度。将深度最深的节点确定为目标节点。
[0081] 本申请提供一种快应用的调试方法,可用于终端设备中。该方法如图2所示,包括以下步骤。
[0082] 在步骤S21中,检测到针对快应用的调试操作;
[0083] 在步骤S22中,对快应用对应的每一层级的搜索节点进行搜索;
[0084] 在步骤S23中,当当前搜索的层级内包含调试操作对应的目标坐标时,将当前搜索的层级的下一个层级确定为继续搜索的层级并进行搜索,直到搜索的层级内未包含目标坐标;
[0085] 在步骤S24中,将未包含目标坐标的层级的上一个层级内包含目标坐标的搜索节点确定为目标节点;
[0086] 在步骤S25中,将目标节点的节点信息反馈给快应用的调试端。
[0087] 其中,上述步骤S21中,检测到的快应用的调试操作的格式可以是数据包、消息或指令等等。该调试操作中也可以包含调试操作的发起方(例如快应用的调试端)发送的目标坐标或者与目标坐标对应的其他坐标信息等。只需要终端设备收到该调试操作后,达到触发搜索目标节点的流程的效果即可。
[0088] 上述步骤S22中,从每一层级的搜索节点中搜索调试操作对应的目标坐标的过程,可以是从每一层级的搜索节点对应的区域范围,即预先配置的该搜索节点在终端设备的显示界面中所占的区域范围,搜索是否包含有目标坐标。
[0089] 上述步骤S23中,将当前搜索的层级的下一个层级确定为继续搜索的层级并进行搜索,直到搜索的层级内未包含目标坐标,可以在未搜索到包含目标坐标的搜索节点时,停止搜索。
[0090] 上述步骤S25中,终端设备将目标节点的节点信息反馈给调试操作的发起方的方式可以包括多种。例如,可以向调试操作的发起方(如,快应用的调试端)发送包含目标节点的节点信息的数据包或消息等等。本文中,目标节点的节点信息包括可以确定出该节点在快应用对应的DOM树中的位置的任意一种或多种信息。例如,可以是目标节点的节点名称,可以是目标节点的标识,也可以是目标节点的其他属性信息等。
[0091] 由上述描述可以看出,本实施例的技术方案基于DOM树的结构特征,逐层进行目标坐标的搜索操作。且在每个层级的搜索操作之前,确定该层级内需要进行搜索的节点,只在确定的节点内进行搜索操作。可见,与相关技术中采用遍历整个DOM树的所有节点搜索目标坐标的方式相比,本公开的技术方案大大减少了搜索的节点数目,从而缩短了搜索时间,提高了快应用的调试效率。
[0092] 本实施例提供另一种快应用的调试方法,该方法中,对快应用对应的每一层级的搜索节点进行搜索,包括:
[0093] 将快应用对应的节点树的根节点确定为第一层级的搜索节点,对第一层级的搜索节点进行搜索;
[0094] 将根节点的下一级子节点确定为第二层级的搜索节点,对第二层级的搜索节点进行搜索;
[0095] 按照节点树的层级顺序,确定每一层级的搜索节点,并对确定的每一层级的搜索节点进行搜索。
[0096] 本实施例中,按照节点树的层级顺序,依次从每一层级的搜索节点中搜索目标坐标。例如,第一次搜索是从根节点所在层级开始,可将根节点所在层级简称为第一层级。由于第一层级中仅有根节点一个节点,因此,根节点即为第一层级的搜索节点。从根节点中搜索目标坐标即可。当根节点包含目标坐标时,继续搜索下一个层级,可简称为第二层级。在搜索第二层级之前,可以确定第二层级内的搜索节点。本文中,将当前搜索的层级的搜索节点的下一级子节点确定为下一次搜索的层级的搜索节点。即,根节点的下一级子节点为第二层级的搜索节点。按照上述描述,即可按照节点树的层级顺序,逐层搜索目标节点。
[0097] 可见,本实施例基于节点树的层级特点,逐层进行目标坐标的搜索操作,搜索过程更具有逻辑性,提高了搜索的效率,即提高了快应用的调试效率。
[0098] 本实施例提供另一种快应用的调试方法,该方法中,将当前搜索的层级的下一个层级确定为继续搜索的层级并进行搜索,包括:
[0099] 当前搜索的层级内的搜索节点包含目标坐标时,将当前搜索的层级的下一层级确定为继续搜索的层级,并确定继续搜索的层级内的搜索节点,其中,继续搜索的层级内的搜索节点为包含目标坐标的搜索节点的子节点;
[0100] 在确定的继续搜索的层级的搜索节点中,进行搜索操作。
[0101] 从上述描述可以看出,本实施例基于节点树的特点,逐层进行目标坐标的搜索操作。且在每个层级的搜索操作之前,根据上下层级内父节点与子节点之间的区域重叠的特点,将当前搜索的层级内的搜索节点的下一级子节点确定为继续搜索的层级内的搜索节点。也就是,从每个层级中筛选出了可能包含目标坐标的节点,即搜索节点。只针对这些搜索节点进行搜索操作,大大减少了搜索的节点数目,从而减小了搜索操作的次数,提高了目标坐标的搜索效率。
[0102] 本实施例提供另一种快应用的调试方法,该方法中,确定继续搜索的层级内的搜索节点,包括:
[0103] 确定当前搜索的层级内包含目标坐标的搜索节点的结构类型为列表结构类型时,将列表结构类型的搜索节点的所有子节点中,在当前时刻终端设备的显示屏幕上显示的子节点确定为继续搜索的层级的搜索节点。
[0104] 本文中,节点的结构类型至少指该节点的子节点的分布结构。
[0105] 例如,节点List代表一个有顺序的节点列表,在快应用的页面中实现长列表或者屏幕滚动等效果。也就是说,节点List的结构类型为列表结构。针对这种列表结构类型进行分析,可知其子节点分布快应用的整个页面中,范围很广。但是由于终端设备的显示屏幕是有限的,因此,每次在终端设备的显示屏幕上只能显示节点list的部分子节点。而快应用的调试操作是针对终端设备当前的显示界面发起的,即终端设备向调试前端反馈的目标节点一定包含在当前的显示界面中。因此,可以针对列表结构类型的特点,从节点list的子节点中搜索目标坐标时,只需要搜索当前显示界面中显示出的子节点即可。
[0106] 可见,本实施例在列表结构类型的节点中包含有目标坐标时,确定继续搜索的层级的搜索节点时,不需要遍历列表结构类型的节点的全部子节点,即不需要将列表结构类型的节点的所有子节点确定为搜索节点。可以只在其可见的子节点范围内查找目标坐标,即只将列表结构类型的节点的子节点中可显示在终端设备当前的显示屏幕上的子节点确定为继续搜索的层级的搜索节点,进行目标坐标的搜索操作。这种针对列表结构类型的节点的特点提出的处理方式,将不可能包含目标坐标的子节点先进行排除,可以减少搜索节点的数目以及搜索次数,从而提高效率。
[0107] 本实施例提供另一种快应用的调试方法,该方法中,确定继续搜索的层级内的搜索节点,包括:
[0108] 确定当前搜索的层级内包含目标坐标的搜索节点的结构类型为层叠结构类型时,将层叠结构类型的搜索节点的所有子节点确定为继续搜索的层级的搜索节点。
[0109] 本文中,层叠结构类型的节点可以包括快应用对应的DOM树中节点stack。该节点stack的子节点层叠排列,所有子节点按照顺序堆叠,每个子节点覆盖前一个子节点。由于层叠结构中,每个子节点覆盖前一个子节点,即每个子节点对应的区域范围与前一个子节点对应的区域范围会产生部分重叠或全部重叠。也就是说,层叠结构类型的搜索节点的下一级子节点中可能会存在有两个或两个以上的子节点均包含有目标坐标。基于此,本实施例提出,将包含目标坐标的层叠结构类型的节点所有子节点确定为下一层级的搜索节点后,可以根据搜索节点的深度更精准地定位目标坐标。
[0110] 本实施例提供另一种快应用的调试方法,该方法还包括:
[0111] 至少在两个搜索节点中搜索到目标坐标时,对比搜索到目标坐标的搜索节点的深度,将深度值最大的搜索节点确定为继续搜索的层级内包含目标坐标的搜索节点。
[0112] 本文中,搜索节点的深度可以是,从该搜索节点的父节点开始至该节点的路径深度,也可以是从根节点开始至该搜索节点的路径深度等。
[0113] 本实施例提出的根据搜索节点的深度更精准地定位目标坐标的方式,是基于层叠结构类型的节点的结构特点,即所有子节点的是按照顺序堆叠的,每个子节点都会覆盖前一个子节点对应的区域范围考虑的。因为,对于搜索到目标坐标的多个搜索节点而言,如果其节点的深度不是最深的,则有可能是覆盖了其他真正包含目标坐标的搜索节点对应的区域范围,才会从中搜索到目标坐标。针对这种情况,可以将搜索到目标坐标的所有搜索节点按照节点深度进行排序,查找节点深度值最大的搜索节点(也可称为节点深度最深的搜索节点)。将深度值最大的搜索节点认为是真正包含有目标坐标的搜索节点,即确定为该层级中包含目标坐标的搜索节点。
[0114] 由以上分析可以看出,本实施例针对层叠结构类型的节点的特点提出的处理方式,将搜索到目标坐标的多个搜索节点按照节点的深度进行筛选,只将搜索到目标坐标的多个搜索节点中深度值最大的搜索节点确定为真正包含目标坐标的搜索节点,提高了搜索的精准度。并且,进行继续搜索的层级的搜索节点的确定操作时,不需要将搜索到目标坐标的多个搜索节点的子节点均确定为下一层级的搜索节点,只将真正包含目标坐标的搜索节点的子节点确定为下一层级的搜索节点。这样,明显减少了下一层级的搜索节点的数目以及下一层级的搜索次数,提高了搜索效率。
[0115] 本实施例提供另一种快应用的调试方法,该方法还包括:
[0116] 当深度值最大的搜索节点包括至少两个节点时,按照预设规则将深度值最大的搜索节点中的一个搜索节点,确定为继续搜索的层级内包含目标坐标的搜索节点。
[0117] 本实施例中考虑到,搜索到目标坐标的多个搜索节点中,深度值最大的搜索节点有可能存在多个搜索节点。此时,为了提高搜索效果,可以按照预设规则将其中之一的搜索节点确定为继续搜索的层级中包含目标坐标的搜索节点。这样,进行继续搜索的层级的搜索节点的确定操作时,不需要将深度值最大的所有搜索节点的子节点都确定为下一层级的搜索节点,只将按照预设规则确定的一个包含有目标坐标的搜索节点的子节点做为下一层级的搜索节点即可。从而达到了减少下一层级的搜索节点的数目以及下一层级的搜索次数的效果,提高了搜索效率。
[0118] 本实施例提供另一种快应用的调试方法,该方法中,上述预设规则可以包括如下任一种:
[0119] 随机选择;
[0120] 按照兄弟节点的排列顺序选择。
[0121] 从前文介绍可知,搜索到目标坐标的多个搜索节点中,深度值最大的搜索节点可能存在有多个搜索节点。此时,对于这多个搜索节点而言,由于节点深度相同且均为最大值,因此,可认为这多个搜索节点均为真正包含目标坐标的搜索节点。具体确定哪一个搜索节点做为该层级中包含目标坐标的搜索节点是无明显差别的。基于此,本实施例提出,预设规则可以是随机选择,即将搜索到目标坐标的多个搜索节点中,深度值最大的任意一个搜索节点确定为该层级内包含目标坐标的搜索节点。也可以是按照兄弟节点的排列顺序选择,即将搜索到目标坐标的多个搜索节点中,深度值最大的多个搜索节点中兄弟节点的排列顺序中最靠前,或最靠后,或者指定排列位置(例如排列顺序为第2位)的搜索节点,确定为该层级内包含目标坐标的搜索节点。
[0122] 本实施例提供另一种快应用的调试方法,该方法还包括如下操作:
[0123] 从调试操作中获取调试端的坐标信息,将调试端的坐标信息转换为终端设备的坐标系中的坐标信息,将转换得到的调试端的坐标信息在终端设备的坐标系中的坐标信息确定为调试操作对应的目标坐标。
[0124] 本实施例描述了,终端设备接收到的快应用的调试操作后,确定调试操作对应的目标坐标的过程。由于调试操作是由调试操作的发起方(例如测试前端)发起的,因此,该调试操作对应的调试端的坐标信息,例如调试器坐标信息,可能是调试操作的发起方使用的坐标系内的某一个坐标位置。本实施例在进行调试操作时,需要先将该调试操作对应的坐标信息转换为终端设备使用的坐标系内的坐标位置。即将调试器坐标信息转换为终端设备的坐标系中的坐标信息,从而将终端设备的坐标系中的该坐标信息确定为调试操作对应的目标坐标。
[0125] 图3是根据一示例性实施例示出的一种快应用的调试方法的具体流程图。该方法可应用于移动终端中,该方法如图3所示,包括如下操作步骤:
[0126] 在步骤S301中,接收调试前端发送的调试器坐标,将调试器坐标转换为移动终端的坐标,将转换后的移动终端的坐标确定为目标坐标。
[0127] 该步骤中,接收到的调试器坐标可认为是收到的调试操作。
[0128] 在步骤S302中,将快应用对应的DOM树中的根节点确定为第一层级的搜索节点,搜索目标坐标。
[0129] 该步骤中,搜索目标坐标的过程可以是在搜索节点对应的区域范围内,搜索目标坐标。
[0130] 在步骤S303中,判断本层级内的搜索节点中是否包含目标坐标,如果是,进入步骤S306,否则进入步骤304。
[0131] 在步骤304中,判断是否存在上一层级的搜索节点,如果是,进入步骤305,否则向调试前端返回未搜索到目标坐标的响应,并结束本流程。
[0132] 步骤305,将上一层级中包含有目标坐标的搜索节点确定为目标节点,进入步骤313。
[0133] 在步骤S306中,判断包含有目标坐标的搜索节点是否是列表结构类型的节点,如果是进入步骤307,否则进入步骤S308;
[0134] 在步骤S307中,获取终端设备的显示屏幕中,当前显示的列表结构类型的节点的子节点的区域范围,将该区域范围内的列表结构类型的节点的子节点确定为本层级的搜索节点,遍历本层级的搜索节点,搜索目标坐标,返回步骤303;
[0135] 在步骤S308中,判断包含有目标坐标的搜索节点是否是层叠结构类型的节点,如果是进入步骤309,否则进入步骤S311;
[0136] 在步骤S309中,将包含有目标坐标的层叠结构类型的节点记录为本层级中包含目标坐标的搜索节点,结束本层级的搜索操作;
[0137] 在步骤S310中,将包含有目标坐标的层叠结构类型的节点的所有子节点确定为本层级的搜索节点,遍历本层级的搜索节点,搜索目标坐标,记录搜索到目标坐标的所有搜索节点的深度,将深度值最大的搜索节点记录为本层级中包含目标坐标的搜索节点,结束本层级的搜索操作,返回步骤312;
[0138] 该步骤中,深度值最大的搜索节点包括多个节点时,可以随机选择或者按照兄弟节点的排列顺序选择其中一个节点记录为本层级中包含目标坐标的搜索节点即可。
[0139] 在步骤S311中,将步骤303中判断出的包含有目标坐标的搜索节点记录为本层级中包含目标坐标的搜索节点,结束本层级的搜索操作;
[0140] 在步骤S312中,将上一层级中包含目标坐标的搜索节点的所有子节点确定为本层级的搜索节点,遍历本层级的搜索节点,搜索目标坐标,返回步骤303;
[0141] 在步骤S313中,将通过Box盒模型描述的目标节点的信息返回给调试前端。
[0142] 上述方法中,步骤306、307是针对列表结构类型的节点的操作,步骤308至步骤310则是对层叠结构类型的节点的操作,这种结构类型的节点的操作顺序可以进行调换。即可以先进行层叠结构类型的节点的相关操作后,再进行列表结构类型的节点的操作。
[0143] 图4是根据一示例性实施例示出的一种快应用的调试装置框图。参照图4,该装置包括第一模块41,第二模块42,第三模块43,第四模块44和第五模块45。
[0144] 第一模块41,用于检测针对快应用的调试操作;
[0145] 第二模块42,用于从快应用对应的每一层级的搜索节点进行搜索;
[0146] 第三模块43,用于当当前搜索的层级内的包含目标坐标时,将当前搜索的层级的下一个层级确定为继续搜索的层级并进行搜索,直到搜索的层级内未包含目标坐标;
[0147] 第四模块44,用于将未包含目标坐标的层级的上一个层级内包含目标坐标的搜索节点确定为目标节点;
[0148] 第五模块45,用于将目标节点的节点信息反馈给快应用的调试端。
[0149] 本实施例提供另一种快应用的调试装置,该装置中,对快应用对应的每一层级的搜索节点进行搜索,包括:
[0150] 将快应用对应的节点树的根节点确定为第一层级的搜索节点,对第一层级的搜索节点进行搜索;
[0151] 将根节点的下一级子节点确定为第二层级的搜索节点,对第二层级的搜索节点进行搜索;
[0152] 按照节点树的层级顺序,确定每一层级的搜索节点,并对确定的每一层级的搜索节点进行搜索。
[0153] 本实施例提供另一种快应用的调试装置,该装置中,将当前搜索的层级的下一个层级确定为继续搜索的层级并进行搜索,包括:
[0154] 当前搜索的层级内的搜索节点包含目标坐标时,将当前搜索的层级的下一层级确定为继续搜索的层级,并确定继续搜索的层级内的搜索节点,其中,继续搜索的层级内的搜索节点为包含目标坐标的搜索节点的子节点;
[0155] 在确定的继续搜索的层级的搜索节点中,进行搜索操作。
[0156] 本实施例提供另一种快应用的调试装置,该装置中,确定继续搜索的层级内的搜索节点,包括:
[0157] 确定当前搜索的层级内包含目标坐标的搜索节点的结构类型为列表结构类型时,将列表结构类型的搜索节点的所有子节点中,在当前时刻终端设备的显示屏幕上显示的子节点确定为继续搜索的层级的搜索节点。
[0158] 本实施例提供另一种快应用的调试装置,该装置中,确定继续搜索的层级内的搜索节点,包括:
[0159] 确定当前搜索的层级内包含目标坐标的搜索节点的结构类型为层叠结构类型时,将层叠结构类型的搜索节点的所有子节点确定为继续搜索的层级的搜索节点。
[0160] 本实施例提供另一种快应用的调试装置,该装置还包括:
[0161] 第六模块,用于至少在两个搜索节点中搜索到目标坐标时,对比搜索到目标坐标的搜索节点的深度,将深度值最大的搜索节点确定为继续搜索的层级内包含目标坐标的搜索节点。
[0162] 本实施例提供另一种快应用的调试装置,该装置还包括:
[0163] 第七模块,用于当深度值最大的搜索节点包括至少两个节点时,按照预设规则将深度值最大的搜索节点中的一个搜索节点,确定为继续搜索的层级内包含目标坐标的搜索节点。
[0164] 本实施例提供另一种快应用的调试装置,该装置中,预设规则包括如下任一种:
[0165] 随机选择;
[0166] 按照兄弟节点的排列顺序选择。
[0167] 本实施例提供另一种快应用的调试装置,该装置还包括:
[0168] 第八模块,用于从调试操作中获取调试端的坐标信息,将调试端的坐标信息转换为终端设备的坐标系中的坐标信息,将转换得到的调试端的坐标信息在终端设备的坐标系中的坐标信息确定为调试操作对应的目标坐标。
[0169] 关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0170] 图5是根据一示例性实施例示出的一种用于快应用的调试装置500的框图。例如,装置500可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
[0171] 参照图5,装置500可以包括以下一个或多个组件:处理组件502,存储器504,电源组件506,多媒体组件508,音频组件510,输入/输出(I/O)的接口512,传感器组件514,以及通信组件516。
[0172] 处理组件502通常控制装置500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器520来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。
[0173] 存储器504被配置为存储各种类型的数据以支持在设备500的操作。这些数据的示例包括用于在装置500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
[0174] 电源组件506为装置500的各种组件提供电。电源组件506可以包括电源管理系统,一个或多个电源,及其他与为装置500生成、管理和分配电源相关联的组件。
[0175] 多媒体组件508包括在所述装置500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当设备500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0176] 音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个麦克(MIC),当装置500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
[0177] I/O接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和定按钮。
[0178] 传感器组件514包括一个或多个传感器,用于为装置500提供各个方面的状态评估。例如,传感器组件514可以检测到设备500的打开/关闭状态,组件的相对定位,例如所述组件为装置500的显示器和小键盘,传感器组件514还可以检测装置500或装置500一个组件的位置改变,用户与装置500接触的存在或不存在,装置500方位或加速/减速和装置500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传感器,陀螺仪传感器,磁传感器压力传感器或温度传感器。
[0179] 通信组件516被配置为便于装置500和其他设备之间有线或无线方式的通信。装置500可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。
在一个示例性实施例中,所述通信组件516还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
[0180] 在示例性实施例中,装置500可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程阵列(FPGA)、控制器微控制器微处理器或其他电子元件实现,用于执行上述方法。
[0181] 在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器504,上述指令可由装置500的处理器520执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
[0182] 一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种快应用的调试方法,包括:
[0183] 检测到针对快应用的调试操作;
[0184] 对快应用对应的每一层级的搜索节点进行搜索;
[0185] 当当前搜索的层级内包含调试操作对应的目标坐标时,将当前搜索的层级的下一个层级确定为继续搜索的层级并进行搜索,直到搜索的层级内未包含目标坐标;
[0186] 将未包含目标坐标的层级的上一个层级内包含目标坐标的搜索节点确定为目标节点;
[0187] 将目标节点的节点信息反馈给快应用的调试端。
[0188] 本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
[0189] 应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈