一种用户界面元素管理方法和装置制造方法

文档序号:6634829阅读:208来源:国知局
一种用户界面元素管理方法和装置制造方法
【专利摘要】本发明实施例提供一种用户界面元素管理方法和装置,所述方法包括:获取当前用户界面元素属性列表;利用所述当前用户界面元素属性列表与测试装置本地的数据库中的用户界面元素属性列表进行比对,获取用户界面元素变化差异信息;将所述用户界面元素变化差异信息进行展现的技术手段,所以达到了如下的技术效果:1、元素管理:对用户界面中特定应用的元素信息进行本地数据库管理,可与操作系统自动化测试框架结合使用,大幅降低工作成本。2、映射订制:实时展现的内容用户可控,可针对不同操作系统应用进行简单订制。3、差异对比:清晰的给出同一应用不同版本的用户界面元素变化差异信息,帮助测试人员准确定位问题。
【专利说明】一种用户界面元素管理方法和装置

【技术领域】
[0001]本发明涉及移动终端测试自动化【技术领域】,尤其涉及一种用户界面元素管理方法和装置。

【背景技术】
[0002]移动终端测试是描述一种用来促进鉴定移动终端系统的正确性、完整性、安全性和质量的过程。可以在规定的条件下对程序进行操作,以发现程序错误,衡量移动终端系统质量,并对其是否能满足设计要求进行评估的过程。
[0003]如图1所示,为现有技术HierarchyViewer元素信息界面示意图,其是Google公司随着AndroidSDK所发布的一个安卓界面元素映射工具。通过USB连接的方式,给安卓设备的ViewServer端口(默认:4939)发送LIST命令请求,获取到当前安卓设备内的用户曾访问过的界面列表,由用户选取特定界面后,再对ViewServer端口(默认:4939)发送DUMP命令请求,得到被选用户界面中所有元素的信息列表,以图形化的方式展现在工具中。用户可以通过工具右下角的模拟界面选取元素,并在左侧的树形图查看该元素的各项属性,主要供安卓系统的开发或测试人员对安卓应用进行测试使用。
[0004]可见,现有技术对于复杂界面的管理非常困难:首先,界面元素太多,显示时互相叠加,导致映射结果无法正常查看;其次,由于没有元素管理功能,对使用该工具的主要用户群体之一:测试工程师带来的帮助很小。


【发明内容】

[0005]本发明实施例提供一种用户界面元素管理方法和装置,以提供元素管理功能,方便测试工作。
[0006]一方面,本发明实施例提供了一种用户界面元素管理方法,所述用户界面元素管理方法,包括:
[0007]获取当前用户界面元素属性列表;
[0008]利用所述当前用户界面元素属性列表与测试装置本地的数据库中的用户界面元素属性列表进行比对,获取用户界面元素变化差异信息;
[0009]将所述用户界面元素变化差异信息进行展现。
[0010]另一方面,本发明实施例提供了一种用户界面元素管理装置,所述用户界面元素管理装置,包括:
[0011]获取单元,用于获取当前用户界面元素属性列表;
[0012]比对单元,用于利用所述当前用户界面元素属性列表与测试装置本地的数据库中的用户界面元素属性列表进行比对,获取用户界面元素变化差异信息;
[0013]展现单元,用于将所述用户界面元素变化差异信息进行展现。
[0014]上述技术方案具有如下有益效果:因为采用所述用户界面元素管理方法,包括:获取当前用户界面元素属性列表;利用所述当前用户界面元素属性列表与测试装置本地的数据库中的用户界面元素属性列表进行比对,获取用户界面元素变化差异信息;将所述用户界面元素变化差异信息进行展现的技术手段,所以达到了如下的技术效果:1、元素管理:对用户界面中特定应用的元素信息进行本地数据库管理,可与操作系统自动化测试框架结合使用,大幅降低工作成本。2、映射订制:实时展现的内容用户可控,可针对不同操作系统应用进行简单订制。3、差异对比:清晰的给出同一应用不同版本的用户界面元素变化差异信息,帮助测试人员准确定位问题。

【专利附图】

【附图说明】
[0015]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0016]图1为现有技术HierarchyViewer元素信息界面示意图;
[0017]图2为本发明实施例一种用户界面元素管理方法流程图;
[0018]图3为本发明实施例一种用户界面元素管理装置结构示意图;
[0019]图4为本发明实施例另一种用户界面元素管理装置结构示意图;
[0020]图5为本发明应用实例运行方法流程图;
[0021]图6为本发明应用实例元素信息管理界面示意图。

【具体实施方式】
[0022]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0023]如图2所示,为本发明实施例一种用户界面元素管理方法流程图,所述用户界面元素管理方法,包括:
[0024]201、获取当前用户界面元素属性列表;
[0025]202、利用所述当前用户界面元素属性列表与测试装置本地的数据库中的用户界面元素属性列表进行比对,获取用户界面元素变化差异信息;
[0026]203、将所述用户界面元素变化差异信息进行展现。
[0027]优选的,针对常用的安卓操作系统,所述获取当前用户界面元素属性列表,具体可以包括:通过套接字的方式向当前用户的安卓设备的ViewServer (视图服务器)端口发送请求,从针对该请求的反馈信息中获取所述当前用户界面元素属性列表。如此,本发明实施例可以精准的管理用户界面元素。
[0028]优选的,所述通过套接字的方式向当前用户的安卓设备的ViewServer端口发送请求,从针对该请求的反馈信息中获取所述当前用户界面元素属性列表,具体可以包括:通过套接字的方式对当前用户的安卓设备的ViewServer端口发送请求,获取针对该请求的反馈信息后,利用字符串关键字匹配的方式筛选出界面元素的关键信息,从而获取所述界面元素的关键信息对应的所述当前用户界面元素属性列表。如此,本发明实施例可以更加精准的管理用户界面元素。
[0029]优选的,所述获取当前用户界面元素属性列表后,所述用户界面元素管理方法还可以包括:将所述当前用户界面元素属性列表进行元素过滤处理,并根据所述测试装置自定义元素的源代码对自定义元素进行识别和映射,然后确定所述测试装置自定义元素的属性信息,所述元素过滤处理包括布局Layout元素过滤处理。本发明实施例通过对比预处理,可以进一步更加精准高效的管理用户界面元素。需要说明的是,识别出所述测试装置自定义元素后,可以通过计算将其相对位置信息转换成绝对位置信息,然后提取出自定义元素的ID、文本、大小等信息,从而确定所述测试装置自定义元素的属性信息。
[0030]优选的,所述利用当前用户界面元素属性列表与测试装置本地的数据库中的用户界面元素属性列表进行比对,获取用户界面元素变化差异信息后,还可以包括:自动更新所述测试装置本地的数据库中的用户界面元素属性列表为所述当前用户界面元素属性列表。本发明实施例通过更新操作,可以便于接下来的测试工作。
[0031]对应于上述方法实施例,如图3所示,为本发明实施例一种用户界面元素管理装置结构示意图,所述用户界面元素管理装置,包括:
[0032]获取单元31,用于获取当前用户界面元素属性列表;
[0033]比对单元32,用于利用所述当前用户界面元素属性列表与测试装置本地的数据库中的用户界面元素属性列表进行比对,获取用户界面元素变化差异信息;
[0034]展现单元33,用于将所述用户界面元素变化差异信息进行展现。
[0035]优选的,所述获取单元31,具体可以用于通过套接字的方式向当前用户的安卓设备的视图服务器ViewServer端口发送请求,从针对该请求的反馈信息中获取所述当前用户界面元素属性列表。如此,本发明实施例可以精准的管理用户界面元素。
[0036]优选的,所述获取单元31,进一步具体用于通过套接字的方式对当前用户的安卓设备的ViewServer端口发送请求,获取针对该请求的反馈信息后,利用字符串关键字匹配的方式筛选出界面元素的关键信息,从而获取所述界面元素的关键信息对应的所述当前用户界面元素属性列表。如此,本发明实施例可以更加精准的管理用户界面元素。
[0037]如图4所示,为本发明实施例另一种用户界面元素管理装置结构示意图,优选的,所述用户界面元素管理装置不但包括上述获取单元31、比对单元32,展现单元33,还包括:对比预处理单元34,用于在所述获取单元31获取当前用户界面元素属性列表后,将所述当前用户界面元素属性列表进行元素过滤处理,并根据所述测试装置自定义元素的源代码对自定义元素进行识别和映射,然后确定所述测试装置自定义元素的属性信息,所述元素过滤处理包括布局Layout元素过滤处理。本发明实施例通过对比预处理,可以进一步更加精准高效的管理用户界面元素。需要说明的是,识别出所述测试装置自定义元素后,可以通过计算将其相对位置信息转换成绝对位置信息,然后提取出自定义元素的ID、文本、大小等信息,从而确定所述测试装置自定义元素的属性信息。
[0038]优选的,所述用户界面元素管理装置还包括:更新单元35,用于所述比对单元32利用所述当前用户界面元素属性列表与测试装置本地的数据库中的用户界面元素属性列表进行比对,获取用户界面元素变化差异信息后,自动更新所述测试装置本地的数据库中的用户界面元素属性列表为所述当前用户界面元素属性列表。本发明实施例通过更新操作,可以便于接下来的测试工作。
[0039]本发明实施例上述技术方案具有如下有益效果:因为采用所述用户界面元素管理方法,包括:获取当前用户界面元素属性列表;利用所述当前用户界面元素属性列表与测试装置本地的数据库中的用户界面元素属性列表进行比对,获取用户界面元素变化差异信息;将所述用户界面元素变化差异信息进行展现的技术手段,所以达到了如下的技术效果:1、元素管理:对用户界面中特定应用的元素信息进行本地数据库管理,可与操作系统自动化测试框架结合使用,大幅降低工作成本。2、映射订制:实时展现的内容用户可控,可针对不同操作系统应用进行简单订制。3、差异对比:清晰的给出同一应用不同版本的用户界面元素变化差异信息,帮助测试人员准确定位问题。
[0040]以下通过应用实例对本发明实施例上述技术方案进行详细说明:
[0041]本发明应用实例通过网络连接,向安卓设备的ViewServer端口(默认:4939)发送LIST请求,得到移动终端设备当前的用户界面名称,随后发送DUMP请求,得到被选用户界面中所有元素的信息列表,并根据用户配置文件对返回的结果进行过滤处理,以及对自定义元素的拆解,最后经过位置、大小、层级的计算等过程,并和本地的sqlite数据库内容进行比对,给出变化信息,并绘制出带有交互属性的实时模拟移动终端界面。具体过程如图5所示,为本发明应用实例运行方法流程图,具体包括:
[0042]1、通过套接字的方式对安卓设备的ViewServer端口(默认:4939)发送请求,得到当前用户界面元素属性列表。
[0043]2、过滤阶段,根据用户配置文件,对安卓当前界面下的Layout等元素进行过滤。因为这类元素的数量很多,但对于用户来讲实际并无价值,如不过滤,则会使映射出的界面过于复杂,存在很多无用的元素。
[0044]3、自定义元素分析阶段,这部分和安卓设备当前所启动的应用密切相关,由于很多应用都使用了自定义元素,它们并非安卓官方所提供的元素,故现有的类似工具都无法对这部分元素进行有效的识别,而该装置可根据用户配置,对自定义元素进行识别和映射。
[0045]4、自定义元素的属性信息确定阶段,对原始的元素属性数据进行加工处理,提取出对工程师有价值的诸如ID、文本、位置信息、大小等信息,根据控件大小计算元素绘制的顺序,避免有元素被覆盖的情况发生。需要说明的是,识别出所述测试装置自定义元素后,可以通过计算将其相对位置信息转换成绝对位置信息,然后提取出自定义元素的ID、文本、大小等信息,从而确定所述测试装置自定义元素的属性信息。
[0046]5、数据库比对阶段,当前数据库中存放了旧版本应用的元素分布信息,该程序和这部分信息进行对比,分析出当前版本的元素变化差异,自动更新数据库中的内容,以便用于接下来的测试工作。
[0047]6、展现阶段,根据位置计算和数据库对比的结果,在PC端进行安卓用户界面元素的绘制,整个过程所耗费的时间根据当前用户界面元素的复杂程度而有所不同,大致在5?10秒之间便可完成,基本可认为是实时更新。
[0048]该装置对安卓设备的ViewServer端口(默认:4939)发送DUMP请求,要求获取内存地址为Oxffffffff的元素信息。可得到如下格式的元素信息列表,每一段代表一个元素。
[0049]android, widget.linearLayouti429996d0 measurement:mBaselineChiIdTop =I, Omeasurement:mGravity_N0NE = 3,0x0 measurement:mGra...
[0050]android.widget.RelativeLayout@42c08508 events:mLastTouchDownX =
3,0.0eventsimLastTouchDownTime = 1,0 events:mLastTouchDown...
[0051]android, widget.LinearLayout@432dl888 measurement:mBaselineChiIdTop =1,Omeasurement:mGravity—NONE = 3,OxO measurement:mG...
[0052]android, widget.1mageView@42bll660 layout: getBaseline () = 2,-1 bg_ =
4,nul!measurement:mMeasureHeight = 2,71 measurement:...
[0053]android, widget.TextView@4418fa00 text:mText = 2,公开 getEllipsize ()=4, nulltext: getSelect1nEnd () = 2,-1 text: getSeIect1n...
[0054]android, wiget.TextView@441d8edO text:mText = 3,140 getEllipsize ()=4, nulltext: getSelect1nEnd() = 2,-1 text: getSeIect1n...
[0055]使用字符串关键字匹配的方式筛选出元素的关键信息,包括class、id、text,height、width、x、y。其中x、y数值原为相对坐标,需要根据元素返回的顺序,计算出元素的绝对坐标。并将这些关键信息以特定结构存到内存中。结构定义如下:
[0056]public class widget {
[0057]public String tag ;
[0058]public String name ;
[0059]public String id ;
[0060]public String text ;
[0061]public int x ;
[0062]public int y ;
[0063]public int width ;
[0064]public int height ;
[0065]public int floor ;
[0066]}
[0067]利用元素的height、width信息,计算元素绘制的顺序,要保证元素能以从大到小的顺序依次绘制,由此避免较小的元素被较大的元素覆盖住,从而无法被展现出来的问题。计算出的绘制顺序信息存放到如上结构的floor字段当中。
[0068]进入元素过滤阶段,分别读取元素的黑白名单配置内容,根据配置的规则对所有元素进行匹配,如某元素和黑名单的规则匹配,则被过滤,其余元素以数组形式存放到本地内存当中。
[0069]读取本地的sqlite数据库,该数据库中包含activity、text、widget三个表单:
[0070]Uwidget表存放元素的序号、ID、文本序号、元素名称、TAG信息。
[0071]2、activity表存放特定界面下所有元素的序号列表、界面名称。
[0072]3、text表存放文本序号及其具体内容。
[0073]该装置通过界面名称从activity表中查到所有元素的信息,再和当前连接设备返回的元素信息进行比对,得到差异的部分,即为新旧版本的界面差异化信息。
[0074]最后进入元素绘制阶段,根据内存中存储的元素位置、大小、绘制顺序信息,结合界面差异化信息,在PC端绘制出安卓设备当前用户界面的元素交互图。如图6所示,为本发明应用实例元素信息管理界面示意图:样式如下,灰色为有差异的元素,白色为没有差异的元素,右侧为元素关键信息显示区域。
[0075]本发明应用实例增加元素管理功能,使得测试工程师可以看到新旧产品在用户界面设计上的差别。移动终端到PC端的自动实时映射,无需人为管理。所管理的元素数量没有限制,对元素的读写有较高的性能要求。能够更加清晰的看到所管理元素的关键信息,去除干扰。支持自定义元素的展现。
[0076]本发明应用实例带来的有益效果:
[0077]1、元素管理:对用户界面中特定应用的元素信息进行本地数据库管理,可与操作系统自动化测试框架结合使用,大幅降低工作成本。
[0078]2、映射订制:实时展现的内容用户可控,可针对不同操作系统应用进行简单订制。
[0079]3、差异对比:清晰的给出同一应用不同版本的用户界面元素变化差异信息,帮助测试人员准确定位问题。
[0080]本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
[0081]本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
[0082]本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、⑶-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
[0083]在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPR0M、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
[0084]以上所述的【具体实施方式】,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的【具体实施方式】而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种用户界面元素管理方法,其特征在于,所述用户界面元素管理方法,包括: 获取当前用户界面元素属性列表; 利用所述当前用户界面元素属性列表与测试装置本地的数据库中的用户界面元素属性列表进行比对,获取用户界面元素变化差异信息; 将所述用户界面元素变化差异信息进行展现。
2.如权利要求1所述用户界面元素管理方法,其特征在于,所述获取当前用户界面元素属性列表,包括: 通过套接字的方式向当前用户的安卓设备的视图服务器ViewServer端口发送请求,从针对该请求的反馈信息中获取所述当前用户界面元素属性列表。
3.如权利要求2所述用户界面元素管理方法,其特征在于,所述通过套接字的方式向当前用户的安卓设备的ViewServer端口发送请求,从针对该请求的反馈信息中获取所述当前用户界面元素属性列表,具体包括: 通过套接字的方式对当前用户的安卓设备的ViewServer端口发送请求,获取针对该请求的反馈信息后,利用字符串关键字匹配的方式筛选出界面元素的关键信息,从而获取所述界面元素的关键信息对应的所述当前用户界面元素属性列表。
4.如权利要求1所述用户界面元素管理方法,其特征在于,所述获取当前用户界面元素属性列表后,所述用户界面元素管理方法还包括: 将所述当前用户界面元素属性列表进行元素过滤处理,并根据所述测试装置自定义元素的源代码对自定义元素进行识别和映射,然后确定所述测试装置自定义元素的属性信息,所述元素过滤处理包括布局Layout元素过滤处理。
5.如权利要求1所述用户界面元素管理方法,其特征在于,所述利用当前用户界面元素属性列表与测试装置本地的数据库中的用户界面元素属性列表进行比对,获取用户界面元素变化差异信息后,还包括: 自动更新所述测试装置本地的数据库中的用户界面元素属性列表为所述当前用户界面元素属性列表。
6.一种用户界面元素管理装置,其特征在于,所述用户界面元素管理装置,包括: 获取单元,用于获取当前用户界面元素属性列表; 比对单元,用于利用所述当前用户界面元素属性列表与测试装置本地的数据库中的用户界面元素属性列表进行比对,获取用户界面元素变化差异信息; 展现单元,用于将所述用户界面元素变化差异信息进行展现。
7.如权利要求6所述用户界面元素管理装置,其特征在于, 所述获取单元,具体用于通过套接字的方式向当前用户的安卓设备的视图服务器ViewServer端口发送请求,从针对该请求的反馈信息中获取所述当前用户界面元素属性列表。
8.如权利要求7所述用户界面元素管理装置,其特征在于, 所述获取单元,进一步具体用于通过套接字的方式对当前用户的安卓设备的ViewServer端口发送请求,获取针对该请求的反馈信息后,利用字符串关键字匹配的方式筛选出界面元素的关键信息,从而获取所述界面元素的关键信息对应的所述当前用户界面元素属性列表。
9.如权利要求6所述用户界面元素管理装置,其特征在于,所述用户界面元素管理装置还包括: 对比预处理单元,用于在所述获取单元获取当前用户界面元素属性列表后,将所述当前用户界面元素属性列表进行元素过滤处理,并根据所述测试装置自定义元素的源代码对自定义元素进行识别和映射,然后确定所述测试装置自定义元素的属性信息,所述元素过滤处理包括布局Layout元素过滤处理。
10.如权利要求6所述用户界面元素管理装置,其特征在于,所述用户界面元素管理装置还包括: 更新单元,用于所述比对单元利用所述当前用户界面元素属性列表与测试装置本地的数据库中的用户界面元素属性列表进行比对,获取用户界面元素变化差异信息后,自动更新所述测试装置本地的数据库中的用户界面元素属性列表为所述当前用户界面元素属性列表。
【文档编号】G06F3/0482GK104516633SQ201410663663
【公开日】2015年4月15日 申请日期:2014年11月19日 优先权日:2014年11月19日
【发明者】李云翔, 王烨, 谢作孟, 罗诗尧 申请人:微梦创科网络科技(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1