一种用于用户界面测试的自动化辨色系统和方法技术方案

技术编号:15197196 阅读:162 留言:0更新日期:2017-04-21 04:47
本发明专利技术提供一种用于用户界面测试的自动化辨色系统,包括控件颜色反射模块,用于利用反射机制从源代码中来获取控件颜色标准值;数字辨色模块,用于对比运行中的控件的颜色值和控件颜色标准值。本发明专利技术通过在制作脚本时,利用JAVA反射机制,从代码设计程序中进行精准反射,以获取脚本中的控件的颜色属性,并进行数字化;由此,在运行时,利用数字化的控件颜色标准值与运行中的控件信息进行比对,即可发现运行中的控件的颜色是否正确。通过源代码反射获取控件颜色值,不存在误差;通过数字化对比,可以提高对比效率。

Automatic color discrimination system and method for user interface testing

The invention provides a color discrimination system for user interface automation test, including control module for color reflection, from the source code to obtain the control color standard value using reflection mechanism; digital color recognition module, for comparison operation in the control of the color value and color control standard value. In the script making, using JAVA reflection mechanism, accurate reflection from the code design procedure, the color property to get the script control, and digital; thus, in operation, the use of digital color control standard value and control information for comparison in the operation, can be found in the operation the color control is correct. The color value of the control is obtained through the reflection of the source code, and there is no error.

【技术实现步骤摘要】

本专利技术涉及用户界面测试领域,并且特别涉及一种用于用户界面测试的自动化辨色系统和方法
技术介绍
目前的安卓系统版本更新越来越快,版本功能界面也越来越复杂,有很多细小的控件和元素的颜色无法辨别,依靠传统的人工辨色效率低下,且无法准确判断。在现有的安卓系统自动化测试中,依靠屏幕截图,进行图片颜色对比。将安卓系统运行时,需要的点位进行屏幕截图,和原有目标图片对比。此方法具有一定的误差,且效率较低。
技术实现思路
本专利技术的目的在于提供一种用于用户界面测试的自动化辨色系统和方法以改进现有的图片对比方法中存在误差以及效率低下的缺陷。本专利技术实施例提供一种用于用户界面测试的自动化辨色系统,包括:控件颜色反射模块,用于利用反射机制从源代码中来获取控件颜色标准值;数字辨色模块,用于对比运行中的控件的颜色值和所述控件颜色标准值。优选地,所述控件颜色反射模块包括:控件颜色属性添加单元,用于将待测控件的控件颜色属性添加到获取的控件属性中;控件属性反射单元,用于利用所述反射机制来反射所述控件属性以获取所述待测控件的颜色属性值;属性导出单元,用于将所述颜色属性值数字化得到所述控件颜色标准值,并将所述控件颜色标准值汇总到控件属性记录文档后导出。优选地,所述控件颜色属性添加单元包括:控件属性获取子单元,用于通过安卓自动化测试工具的封装类获取所述控件属性;控件属性导入子单元,用于传入所需要获得的所述控件颜色属性,并导入继承所述封装类;关联子单元,用于关联所述控件颜色属性和所述封装类。优选地,所述控件属性反射单元包括:根节点定位子单元,用于利用从所述封装类继承的定位方法来定位所述待测控件的根节点;反射子单元,用于利用所述反射机制反射所述根节点,找到所述待测控件的所述颜色属性值。优选地,当运行中的控件的所述颜色值和所述控件颜色标准值不同时,提示脚本运行错误。本专利技术实施例还提供一种用于用户界面测试的自动化辨色方法,包括:利用反射机制从源代码中来获取控件颜色标准值;以及对比运行中的控件的颜色值和所述控件颜色标准值。优选地,在制作脚本时利用反射机制从源代码中来获取控件颜色标准值的所述步骤包括:将待测控件的控件颜色属性添加到获取的控件属性中;利用所述反射机制来反射所述控件属性以获取所述待测控件的颜色属性值;以及将所述颜色属性值数字化得到所述控件颜色标准值,并将所述控件颜色标准值汇总到控件属性记录文档后导出。优选地,将待测控件的控件颜色属性添加到获取的控件属性中的所述步骤包括:通过安卓自动化测试工具的封装类获取所述控件属性;传入所需要获得的所述控件颜色属性,并导入继承所述封装类;以及关联所述控件颜色属性和所述封装类。优选地,利用所述反射机制来反射所述控件属性以获取所述待测控件的颜色属性值的所述步骤包括:利用从所述封装类继承的定位方法来定位所述待测控件的根节点;以及利用所述反射机制反射所述根节点,找到所述待测控件的所述颜色属性值。优选地,当运行中的控件的所述颜色值和所述控件颜色标准值不同时,提示脚本运行错误。通过本专利技术提供的用于用户界面测试的自动化辨色系统和方法,在制作脚本时,利用JAVA反射机制,从代码设计程序中进行精准反射,以获取脚本中的控件的颜色属性,并进行数字化;由此,在运行时,利用数字化的控件颜色标准值与运行中的控件信息进行比对,即可发现运行中的控件的颜色是否正确。通过源代码反射获取控件颜色值,不存在误差;通过数字化对比,可以提高对比效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术第一实施例提供的用于用户界面测试的自动化辨色系统的原理图。图2为本专利技术第二实施例提供的用于用户界面测试的自动化辨色系统的原理图。图3为本专利技术第三实施例提供的用于用户界面测试的自动化辨色方法的流程示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。实施例一图1为本专利技术第一实施例提供的用于用户界面测试的自动化辨色系统的原理图。如图1所示,用于用户界面测试的自动化辨色系统包括控件颜色反射模块10和数字辨色模块20。其中,所述控件颜色反射模块10用于利用反射机制从源代码中来获取控件颜色标准值;所述数字颜色辨色模块20用于对比运行中的控件的颜色值和所述控件颜色标准值。具体地,在制作脚本时利用JAVA反射机制来获取脚本中的控件的控件颜色标准值;在运行时对比所述控件颜色标准值和运行中的控件信息,如果运行中的所述控件信息与所述控件颜色标准值不同,则提示脚本运行错误。JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。通过本实施例提供的用于用户界面测试的自动化辨色系统,在制作脚本时,利用JAVA反射机制,从代码设计程序中进行精准反射,以脚本中的控件的颜色属性,并进行数字化,得到控件颜色标准值;在运行时,利用数字化的控件颜色标准值与运行中的控件信息进行比对,即可发现运行中的控件的颜色是否正确。通过源代码反射获取控件颜色值,不存在误差;通过数字化对比,可以提高对比效率。实施例二图2为本专利技术第二实施例提供的用于用户界面测试的自动化辨色系统的原理图。如图2所示,用于用户界面测试的自动化辨色系统包括用于利用反射机制从源代码中来获取控件颜色标准值的控件颜色反射模块10和用于对比运行中的控件的颜色值和所述控件颜色标准值的数字辨色模块20。具体地,在本实施例中,控件颜色反射模块10包括:控件颜色属性添加单元11,用于将待测控件的控件颜色属性添加到获取的控件属性中;控件属性反射单元12,用于利用所述反射机制来反射所述控件属性以获取所述待测控件的颜色属性值;属性导出单元13,用于将所述颜色属性值数字化得到所述控件颜色标准值,并将所述控件颜色标准值汇总到控件属性记录文档后导出。在android开发中,在Activitylayout界面中进行添加各种控件,比如Button、ImageView等等,每个控件都会有各种属性、坐标位置,包含类名称,字体内容,颜色属性等。我们这边就是要在通过安卓自动化测试工具uiautomator获取的属性中添加一个颜色属性。因此,在本实施例中,所述控件颜色属性添加单元11包括:控件属性获取子单元111,用于通过安卓自动化测试工具的封装类获取所述控件属性;具体地,通过uiautomator的封装类进行获取控件的属性,然而获取的这些属性中,并无控件颜色(ActivityColor)这一属性。控件属性导入子单元112,用于传入所需要获得的所述控件颜色属性,并导入继承所述封装类;具体地,在选取某一个Activity控件后,传入所需要获得的控件属性BackgroundColor,并导入SDK中的uiautomator的封装类,并继承该类。关联子单元113,用于本文档来自技高网...
一种用于用户界面测试的自动化辨色系统和方法

【技术保护点】
一种用于用户界面测试的自动化辨色系统,其特征在于,包括:控件颜色反射模块,用于利用反射机制从源代码中来获取控件颜色标准值;数字辨色模块,用于对比运行中的控件的颜色值和所述控件颜色标准值。

【技术特征摘要】
1.一种用于用户界面测试的自动化辨色系统,其特征在于,包括:控件颜色反射模块,用于利用反射机制从源代码中来获取控件颜色标准值;数字辨色模块,用于对比运行中的控件的颜色值和所述控件颜色标准值。2.如权利要求1所述的用于用户界面测试的自动化辨色系统,其特征在于,所述控件颜色反射模块包括:控件颜色属性添加单元,用于将待测控件的控件颜色属性添加到获取的控件属性中;控件属性反射单元,用于利用所述反射机制来反射所述控件属性以获取所述待测控件的颜色属性值;属性导出单元,用于将所述颜色属性值数字化得到所述控件颜色标准值,并将所述控件颜色标准值汇总到控件属性记录文档后导出。3.如权利要求2所述的用于用户界面测试的自动化辨色系统,其特征在于,所述控件颜色属性添加单元包括:控件属性获取子单元,用于通过安卓自动化测试工具的封装类获取所述控件属性;控件属性导入子单元,用于传入所需要获得的所述控件颜色属性,并导入继承所述封装类;关联子单元,用于关联所述控件颜色属性和所述封装类。4.如权利要求3所述的用于用户界面测试的自动化辨色系统,其特征在于,所述控件属性反射单元包括:根节点定位子单元,用于利用从所述封装类继承的定位方法来定位所述待测控件的根节点;反射子单元,用于利用所述反射机制反射所述根节点,找到所述待测控件的所述颜色属性值。5.如权利要求1所述的用于用户界面测试的自动化辨色系统,其特征在于,当运行中的控件的所述颜色值和所述控件...

【专利技术属性】
技术研发人员:韩继梁
申请(专利权)人:上海斐讯数据通信技术有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1