确定界面布局兼容度的方法及装置的制造方法

文档序号:8430646阅读:309来源:国知局
确定界面布局兼容度的方法及装置的制造方法
【技术领域】
[0001]本发明实施例涉及计算机技术领域,尤其涉及一种确定界面布局兼容度的方法及
目.0
【背景技术】
[0002]目前,在安卓自动化测试的过程中,在手机软件版本被更新后,通常需要对更新前后新旧版本的手机软件中的界面布局文件进行对比,以确定新版本软件中的新界面布局对旧版本软件中的旧界面布局的兼容度,进而据此来大致判断旧版本软件中的脚本在新版本软件的用户界面上的兼容性。其中,界面布局文件描述了手机软件中所实现的用户界面中各个控件以及文本内容之间的布局信息。然而,由于界面布局文件内容众多,如果单靠人力来检查新旧版本的界面布局之间的兼容度,则需要大量的时间,以至于跟不上软件版本的更新速度,因此,需要靠电子设备来自动地实现对新旧版本的界面布局文件的快速对比,求出新用户界面布局对旧用户界面布局的兼容度。
[0003]手机软件中的界面布局体现在界面的XML(Extensible Markup Language,可扩展标记语言)格式的文件(也即界面布局文件)之中。因此,通常是从界面布局文件的文档结构、节点的属性、文本内容、基于树的编辑距离等角度,对新旧版本界面布局文件进行对比,进而确定二者之间的兼容度。但是,采用现有技术在对新旧版本的界面布局文件进行对比后得到的二者之间的兼容度,其准确率较低,且对比过程耗费时间较长。

【发明内容】

[0004]本发明实施例提供一种确定界面布局兼容度的方法及装置,以提高兼容度确定结果的准确率及其运行速度。
[0005]一方面,本发明实施例提供了一种确定界面布局兼容度的方法,该方法包括:
[0006]获取第一界面布局文件的第一文档对象模型树,以及第二界面布局文件的第二文档对象模型树;
[0007]将所述第一文档对象模型树和所述第二文档对象模型树中的所有节点,按照到根节点的路径进行分类;
[0008]根据分类结果,确定所述第一界面布局文件与所述第二界面布局文件之间的兼容度。
[0009]另一方面,本发明实施例还提供了一种确定界面布局兼容度的装置,该装置包括:
[0010]文档对象模型树获取模块,用于获取第一界面布局文件的第一文档对象模型树,以及第二界面布局文件的第二文档对象模型树;
[0011]节点分类模块,用于将所述第一文档对象模型树和所述第二文档对象模型树中的所有节点,按照到根节点的路径进行分类;
[0012]兼容度确定模块,用于根据所述节点分类单元得到的分类结果,确定所述第一界面布局文件与所述第二界面布局文件之间的兼容度。
[0013]本发明实施例提供的技术方案,在获取到待比对的两界面布局文件的文档对象模型树之后,先将两文档对象模型树中的节点,按照到根节点的路径进行分类,进而根据分类结果,来确定第一界面布局文件与第二界面布局文件之间的兼容度,这样相较于通过逐一比对两文档对象模型树中不同节点在文档结构属性和节点属性上的差异度,进而根据比对结果,来确定两界面布局文件间的差异度的方案,本发明实施例可以提高兼容度确定结果的准确率及其运行速度。
【附图说明】
[0014]图1A是本发明实施例一提供的一种确定界面布局兼容度的方法的流程示意图;
[0015]图1B是本发明实施例一提供的根据分类结果确定第一界面布局文件与第二界面布局文件之间的兼容度的流程示意图;
[0016]图2A是本发明实施例二提供的一种计算两DOM树间节点属性差异度的方法的流程不意图;
[0017]图2B是本发明实施例二提供的一种计算两DOM树间结构差异度的方法的流程示意图;
[0018]图3是本发明实施例三提供的一种确定界面布局兼容度的方法的流程示意图;
[0019]图4A为本发明实施例四提供的一种确定界面布局兼容度的装置的结构示意图;
[0020]图4B为本发明实施例四提供的确定界面布局兼容度的装置中的节点属性差异度计算单元的结构示意图。
【具体实施方式】
[0021]下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0022]实施例一
[0023]图1A是本发明实施例一提供的一种确定界面布局兼容度的方法的流程示意图。该方法可适用于第二界面布局文件对第一界面布局文件的兼容度的确定情况,可以由确定界面布局兼容度的装置来执行,所述装置由软件实现,可被内置在诸如智能手机、平板电脑、笔记本电脑、台式电脑或个人数字助理之类的具有用户界面实现功能的终端设备上。在采用本实施例提供的方法得到界面布局兼容度之后,可根据所得到的兼容度,来确定是否需要对与其中一个界面布局文件有关联的脚本进行修改。
[0024]参见图1A,本实施例提供的确定界面布局兼容度的方法具体包括如下操作:
[0025]操作110、获取第一界面布局文件的第一 DOM树,以及第二界面布局文件的第二DOM 树。
[0026]在本实施例中,当确定界面布局兼容度的装置所内置的设备为智能手机时,第一界面布局文件可以是旧版本的智能手机软件中的界面布局文件,第二界面布局文件可以是新版本的智能手机软件中的界面布局文件。当然,第一界面布局文件和第二界面布局文件,也可以是其他任意两个不同版本的界面布局文件,本实施例对此不作限定。其中,界面布局文件的格式为XML格式的文件。
[0027]本实施例可预先利用xml解析器(例如apache xml解析器),分别针对第一界面布局文件和第二界面布局文件进行解析,得到相应的两个文档对象模型(Document ObjectModel,简称DOM)树:第一 DOM树和第二 DOM树。在每个DOM树中,均包含一个根节点,根节点作为最基本的父节点,可包含有多个节点;而多个节点中的某个节点可作为父节点,进一步包含有多个子节点。每个节点都有其相应的属性信息。在同一个DOM树中,任意节点A到根节点的路径为:该节点A到达根节点所依次经过的父节点标识(包含节点A本身的标识)。由此可见,对于同一个DOM树中的不同节点而言,各节点到该DOM树中的根节点的路径不同。
[0028]操作120、将第一 DOM树和第二 DOM树中的所有节点,按照到根节点的路径进行分类。
[0029]在本实施例中,可按照到根节点的路径相同与否,将两个DOM树中的节点进行类另IJ划分。示例性的,将第一 DOM树和第二 DOM树中的所有节点,按照到根节点的路径进行分类,可具体为:确定第一 DOM树中与第二 DOM树中到根节点的路径相同的节点,并将所确定的具有相同路径的节点作为一个节点对,添加至预设的第一集合;将第一 DOM树中不包含在第一集合中的节点,添加至预设的第二集合。其中,第一集合和第二集合属于不同的节点类别。
[0030]操作130、根据分类结果,确定第一界面布局文件与第二界面布局文件之间的兼容度。
[0031]对于分类结果中的第一集合内的任意一个节点对而言,其所包含的两个节点分别到自身所在的DOM树根节点的路径相同,故可判定为这两个节点在文档结构上是相同的。对于分类结果中的第二集合内的任意一个节点而言,由于在与其所在的第一 DOM树不同的第二 DOM树中,不含有任何能够与该节点组成节点对的目标节点,所以可判定该节点的属性信息,与第二 DOM树中的所有节点的属性信息,完全不同。
[0032]如图1B所示,在本实施例的一种具体的实施方式中,操作130可包括:
[0033]操作1301、利用第一集合中的节点对的属性信息,计算第一 DOM树与第二 DOM树之间的节点属性差异度;
[0034]操作1302、利用第二集合中的节点的结构信息,计算第一 DOM树与第二 DOM树之间的结构差异度;
[0035]操作1303、根据节点属性差异度和结构差异度,确定第一界面布局文件与第二界面布局文件之间的兼容度。
[0036](一 )对于上述操作1301而言
[0037]考虑到第一 DOM树中属于第二集合内的节点的属性信息,与第二 DOM树中的所有节点的属性信息,完全不同,而第一 DOM树中属于第一集合内的节点的属性信息,与第二DOM树中具备节点对对应关系的节点的属性信息,可能相同,也可能不同。
[0038]示例性的,可通过执行如下操作,以利用第一集合中的节点对的属性信息,以及第二集合中节点的个数,来计算第一 DOM树与第二 DOM树之间的节点属性差异度:首先,根据第一集合中的节点对的属性信息之间的匹配程度,确定一个节点属性差异值(匹配程度越低,节点属性差异值越大);进而,将所确定的节点属性差异值,结合第一 DOM树中位于第二集合内的节点的个数,计算第一 DOM树与第二 DOM树之间的节点属性差异度。
[0039]当然,还可通过其他方式,利用第一集合中的节点对的属性信息,来计算第一DOM树与第二 DOM树之间的节点属性差异度。例如:
[0040]利用第一集合中的节点对的属性信息,计算第一 DOM树与第二 DOM树之间的节点属性相似度;例如,先将第一集合中各节点对中的两个节点在属性信息上的匹配度(均为大于或等于0,且小于I的数值)加权求和,然后将加权求和结果除以第一 DOM树中节点的总个数,作为第一 DOM树与第二 DOM树之间的节点属性相似度;
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1