CN103309797B - 用户界面自动化测试方法及装置 - Google Patents
用户界面自动化测试方法及装置 Download PDFInfo
- Publication number
- CN103309797B CN103309797B CN201210062231.6A CN201210062231A CN103309797B CN 103309797 B CN103309797 B CN 103309797B CN 201210062231 A CN201210062231 A CN 201210062231A CN 103309797 B CN103309797 B CN 103309797B
- Authority
- CN
- China
- Prior art keywords
- control
- descriptor
- mark
- test
- test instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种用户界面自动化测试方法及装置,该方法包括步骤:在根据自动化测试脚本中的测试指令对用户界面UI进行自动化测试时,从该测试指令中查找该测试指令所针对的控件的标识以及该控件所属UI的标识;针对查找到的UI的标识以及控件的标识,在预先存储的UI的标识、控件的标识与控件的描述信息之间的对应关系中,查找该测试指令所针对的控件的描述信息;根据查找到的描述信息,在当前的UI包含的各控件中定位该测试指令所针对的控件,并根据该测试指令对定位出的控件进行相应的测试操作。本申请技术方案解决了现有技术中对UI进行自动化测试时,无法保证应用程序在运行时的稳定性的问题。
Description
技术领域
本申请涉及测试技术领域,尤其涉及用户界面自动化测试方法及装置。
背景技术
随着自动化测试技术的普及,对设备的用户界面(UI,UserInterface)进行测试逐渐由手工测试转为UI自动化测试。UI自动化测试,即由机器模拟用户针对UI的操作,从而进行自动化测试,主要包含网页(Web)UI自动化测试和本地应用程序UI自动化测试。
在对本地应用程序进行UI自动化测试时,要由机器模拟用户针对UI中的控件进行操作,因此,在操作之前需要进行控件检索,即在本地应用程序的UI中查找要进行操作的控件。其中,控件是对数据和方法的封装,控件可以有自己的属性,用于描述该控件的类型、显示内容和控制信息等,比如控件的属性可以包含标签(tag)属性、标题(title)属性、文本(text)属性等,tag属性是控件非常重要的属性,可以唯一区分一个控件,title属性和text属性都是控件的文本属性。
现有技术进行UI自动化测试时,通常采用下述方法来检索需要进行测试的控件:在位于操作系统(OS,OperatingSystem)底层的控件描述信息中,插入协助定位控件的定位属性信息,也就是说要修改OS中的控件描述信息,后续可以在测试脚本中通过xpath路径来检索描述信息中包含定位属性信息的控件,从而实现对控件的检索。
例如,现有的Bromine是一个用户行为驱动的IOS(iPhoneOS)UI自动化测试框架,提供通过xpath路径来实现访问视图、验证属性值、滑动列表、模拟点击、编辑文本等功能,预先针对需要访问的控件,在位于IOS底层的该控件的描述信息中,插入协助定位该控件的定位属性信息,后续可以在测试脚本中通过xpath路径来检索描述信息中包含定位属性信息的该控件,从而能够检索到该控件,那么就能够访问该控件,实现IOSUI的自动化测试。
由上述处理过程可知,现有的UI自动化测试过程中,如果要对UI中的控件进行测试,那么就需要对该控件进行检索,而通过修改控件描述信息来定位控件,势必会使得位于OS底层的控件描述信息发生改变,那么就无法保证该控件所属的应用程序在运行时的稳定性,也就是说现有技术的UI自动化测试方法会给应用程序的运行稳定带来一定的风险。
发明内容
本申请实施例提供一种用户界面自动化测试方法及装置,用以解决现有技术中对UI进行自动化测试时,无法保证应用程序在运行时的稳定性的问题。
本申请实施例技术方案如下:
一种用户界面自动化测试方法,该方法包括:在根据自动化测试脚本中的测试指令对UI进行自动化测试时,从该测试指令中查找该测试指令所针对的控件的标识以及该控件所属UI的标识;针对查找到的UI的标识以及控件的标识,在预先存储的UI的标识、控件的标识与控件的描述信息之间的对应关系中,查找该测试指令所针对的控件的描述信息;根据查找到的描述信息,在当前的UI包含的各控件中定位该测试指令所针对的控件,并根据该测试指令对定位出的控件进行相应的测试操作。
一种用户界面自动化测试装置,包括:标识查找单元,用于在根据自动化测试脚本中的测试指令对UI进行自动化测试时,从该测试指令中查找该测试指令所针对的控件的标识以及该控件所属UI的标识;描述信息查找单元,用于针对标识查找单元查找到的UI的标识以及控件的标识,在预先存储的UI的标识、控件的标识与控件的描述信息之间的对应关系中,查找该测试指令所针对的控件的描述信息;控件定位单元,用于根据描述信息查找单元查找到的描述信息,在当前的UI包含的各控件中定位该测试指令所针对的控件;测试单元,用于根据该测试指令对控件定位单元定位出的控件进行相应的测试操作。
本申请实施例技术方案中,在根据自动化测试脚本中的测试指令对UI进行自动化测试时,从该测试指令中查找该测试指令所针对的控件的标识以及该控件所属UI的标识,然后针对查找到的UI的标识以及控件的标识,在预先存储的UI的标识、控件的标识与控件的描述信息之间的对应关系中,查找该测试指令所针对的控件的描述信息,再根据查找到的描述信息,在当前的UI包含的各控件中定位该测试指令所针对的控件,并根据该测试指令对定位出的控件进行相应的测试操作。由上可见,本申请实施例技术方案中,预先在OS底层信息中获取UI中需要进行测试的控件的描述信息,将获取到的控件的描述信息和控件的标识以及所属UI的标识对应存储,得到UI的标识、控件的标识与控件的描述信息之间的对应关系,后续在对UI进行自动化测试时,可以直接根据需要进行测试的控件的标识以及所属UI的标识,在上述对应关系中查找控件的描述信息,从而能够根据描述信息对控件进行定位,也就是说,采用本申请实施例技术方案对UI进行自动化测试时,无需修改位于OS底层的控件的描述信息,因此有效保证了控件所属应用程序在运行时的稳定性。
附图说明
图1为本申请实施例一中,UI自动化测试方法流程示意图;
图2为本申请实施例一中,UI及其中所包含控件的示意图一;
图3为本申请实施例一中,UI及其中所包含控件的示意图二;
图4为本申请实施例一中,UI及其中所包含控件的示意图三;
图5为本申请实施例二中,UI自动化测试方法具体实现流程示意图;
图6为本申请实施例三中,UI自动化测试装置结构示意图。
具体实施方式
下面结合各个附图对本申请实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细地阐述。
实施例一
如图1所示,其为本申请实施例一中的UI自动化测试方法流程示意图,具体处理过程如下:
步骤11,在根据自动化测试脚本中的测试指令对UI进行自动化测试时,从该测试指令中查找该测试指令所针对的控件的标识以及该控件所属UI的标识。
其中,对UI进行自动化测试具体可以为对IOSUI进行自动化测试,测试指令中所包含的控件的标识以及该控件所属UI的标识可以统称为控件的引用信息。在测试指令中对控件的引用可以采取“UI的标识:控件的标识”这样的形式。例如,要引用一个列表框控件,其控件的标识为list,该控件所属UI的标识为ListPage,那么在测试指令中引用该控件的引用信息可以为“ListPage:list”;要引用一个记录行控件,其控件的标识为clickRow,该控件所属UI的标识为ListPage,那么在测试指令中引用该控件的引用信息可以为“ListPage:clickRow”;要引用一个按钮控件,其控件的标识为clickButton,该控件所属UI的标识为ClickPage,那么在测试指令中引用该控件的引用信息可以为“ClickPage:clickButton”。
由于自动化测试脚本是测试人员人工编写的,在编写自动化测试脚本时采用上述方式引用控件,使得编写引用信息非常简单,减轻了测试人员的工作强度;此外,由于现有技术采用在自动化测试脚本中通过xpath路径来定位控件,而xpath路径的编写繁琐,另外没有比较直观的控件结构查看,因此,测试人员在编写自动化测试脚本时不仅编写不方便,学习难度也偏大,本申请实施例一在自动化测试脚本中采用上述方式引用控件,可以使得后续对控件的使用非常方便。
步骤12,针对查找到的UI的标识以及控件的标识,在预先存储的UI的标识、控件的标识与控件的描述信息之间的对应关系中,查找该测试指令所针对的控件的描述信息。
其中,预先存储的控件的描述信息是能够唯一标识一个控件的,通过控件的描述信息可以定位该控件,控件的描述信息可以包括控件的类型信息(例如,按钮类型或表格类型)和控件的属性信息(例如,tag属性)。
由于应用程序中窗口和视图的内嵌、叠加机制,即UI与控件的从属关系构成了一个天然的控件树组织,因此,为了便于对控件进行管理和检索,UI的标识、控件的标识与控件的描述信息之间的对应关系可以是以控件树结构形式进行存储的。控件树结构的构建方便、简单,便于测试人员管理控件,并且在自动化测试脚本中引用控件时,编写也非常简单。同时,因为控件的描述信息与自动化测试脚本的分离,因此降低了控件和测试脚本的维护成本。而利用控件的描述信息(控件的类型信息和控件的属性信息)来对控件进行检索,检索功能相对稳定,对应用程序本身的影响非常低,更好的保证了应用程序的测试质量以及后续的正常运行。
本申请实施例一中,UI的标识、控件的标识与控件的描述信息之间的对应关系是预先建立的,建立该对应关系之前,先要获知对UI进行自动化测试时所要进行测试的控件,然后获取这些待测试控件的描述信息,控件的描述信息(控件的类型信息和控件的属性信息)可以从OS底层获得,UI的标识、控件的标识与控件的描述信息之间的对应关系可以是人工建立的,也可以是通过编程自动建立的,上述对应关系可以存储于Plist文件中,也可以存储于可扩展标记语言(XML,ExtensibleMarkupLanguage)文件中,或存储于其它结构性文件中。
此外,由于一个应用程序可以对应有多个测试脚本,为了便于测试人员管理控件,可以先根据该应用程序所对应的每个测试脚本建立UI的标识、控件的标识与控件的描述信息之间的对应关系,然后将上述同属于一个应用程序的对应关系存储于一个控件树结构文件中,例如Plist文件中。
如图2所示,其为一个UI及其中所包含控件的示意图,该UI为一个列表用户界面,其UI标识为ListPage,该UI中要测试的控件有两个,其中一个控件为表格类型控件,其控件标识为list,在测试指令中可以针对该控件进行滑动操作;另一个控件为记录行类型控件,其控件标识为clickRow,在测试指令中可以针对该控件进行点击操作。从OS底层获得上述两个控件的描述信息后,就可以根据图2中UI与控件的从属关系,建立UI的标识、控件的标识与控件的描述信息之间的对应关系,该对应关系存储于Plist文件中的具体结构形式可以如表一所示。
表一:
如图3所示,其为另一个UI及其中所包含控件的示意图,该UI为一个信息用户界面,其UI标识为ClickPage,该UI中要测试的控件有两个,其中一个控件为按钮类型控件,其控件标识为clickButton,在测试指令中可以针对该控件进行点击操作;另一个控件为标签类型控件,其控件标识为showText,用于显示文本信息。从OS底层获得上述两个控件的描述信息后,就可以根据图3建立UI的标识、控件的标识与控件的描述信息之间的对应关系,该对应关系存储于Plist文件中的具体结构形式可以如表二所示。
表二:
其中,当一个UI中有两个或两个以上的控件具有相同的类型信息以及相同的属性信息时,为了控件的描述信息能够唯一标识一个控件,以便通过控件的描述信息顺利定位该控件,控件的描述信息还可以包括控件的索引信息。例如,图4所示的UI中包括两个同为按钮类型的控件,其控件的text属性都为clickme,若测试指令引用其中一个控件,则为了唯一区分该控件,可以根据预先设定的比对顺序设定索引信息,若根据控件的类型信息和控件的属性信息找到的第2个控件为要测试的控件,则该控件的索引信息可以设置为2,为了方便起见可以把控件的索引信息称为控件的index属性,其对应关系可以如表三所示。
表三:
若UI的标识、控件的标识与控件的描述信息之间的对应关系是存储于Plist文件中的,为了便于管理控件,在编写Plist文件时,可以针对一个本地应用程序建立一个Plist文件,为一个包含两个UI的本地应用程序所建立的Plist文件的结构可以如表四所示。
表四:
表四中的Root代表一个本地应用程序,该本地应用程序具有两个UI,一个UI如图2所示,该UI为一个列表用户界面,其UI标识为ListPage,该UI中要测试的控件有两个,其中一个控件为表格类型控件,其控件标识为list,在测试指令中可以针对该控件进行滑动操作,另一个控件为记录行类型控件,其控件标识为clickRow,在测试指令中可以针对该控件进行点击操作。另一个UI如图3所示,该UI为一个信息用户界面,其UI标识为ClickPage,该UI中要测试的控件有两个,其中一个控件为按钮类型控件,其控件标识为clickButton,在测试指令中可以针对该控件进行点击操作,另一个控件为标签类型控件,其控件标识为showText,用于显示文本信息。
步骤13,根据查找到的描述信息,在当前的UI包含的各控件中定位该测试指令所针对的控件,并根据该测试指令对定位出的控件进行相应的测试操作。
其中,根据查找到的描述信息,在当前的UI包含的各控件中定位该测试指令所针对的控件时,可以遍历整个UI中的控件,将查找到的控件的描述信息与该UI中每个控件的描述信息逐个比对,将比对结果完全相同的控件确定为定位出的控件。
本申请实施例一中,当控件的描述信息包括控件的类型信息和控件的属性信息时,根据查找到的描述信息,在当前的UI包含的各控件中定位该测试指令所针对的控件时,可以遍历整个UI中的控件,将查找到的控件的类型信息和控件的属性信息与该UI中每个控件的类型信息和属性信息逐个比对,将比对结果完全相同的控件确定为定位出的控件。
为了提高定位控件的效率,根据查找到的描述信息,在当前的UI包含的各控件中定位该测试指令所针对的控件时,可以先根据控件的描述信息中的控件的类型信息筛选出满足控件的类型信息的控件,然后再从上述筛选出的控件中选取满足控件的描述信息中的控件的属性信息的控件,将该控件确定为定位出的控件。
此外,当控件的描述信息除了包括控件的类型信息、控件的属性信息之外,还包括控件的索引信息时,根据查找到的描述信息,在当前的UI包含的各控件中定位该测试指令所针对的控件时,可以遍历整个UI中的控件,先将查找到的控件的类型信息和控件的属性信息与该UI中每个控件的类型信息和属性信息逐个比对,若比对结果完全相同,再判断是否满足控件的索引信息(例如,若控件的索引信息为2,则比对结果完全相同的第2个控件满足控件的索引信息),若判断结果为满足,则将该控件确定为定位出的控件。
为了提高定位控件的效率,当控件的描述信息除了包括控件的类型信息、控件的属性信息之外,还包括控件的索引信息时,根据查找到的描述信息,在当前的UI包含的各控件中定位该测试指令所针对的控件时,可以先根据控件的描述信息中的控件的类型信息筛选出满足控件的类型信息的控件,然后再从上述筛选出的控件中选取满足控件的描述信息中的控件的属性信息的控件,再判断是否满足控件的索引信息(例如,若控件的索引信息为2,则选取出的第2个控件满足控件的索引信息),若判断结果为满足,则将该控件确定为定位出的控件。
由于所有视图都内嵌在窗口中,视图之间也是内嵌机制,所以在定位控件时,可以遍历整个视图层,将查找到的控件的描述信息与每个视图中的控件的描述信息逐个比对,将比对结果完全相同的控件确定为定位出的控件。为了提高定位控件的效率,还可以遍历整个视图层,根据控件的描述信息中包含的各信息逐步进行筛选,将最后筛选出的一个控件确定为定位出的控件。
本申请实施例一中,当控件的描述信息包括控件的类型信息和控件的属性信息时,根据查找到的描述信息,在当前的UI包含的各控件中定位该测试指令所针对的控件的具体处理过程可以为:获取当前UI,根据查找到的描述信息中包含的类型信息和属性信息,遍历整个视图层,将查找到的控件的类型信息和属性信息与每个视图中的控件的类型信息和属性信息逐个比对,将比对结果完全相同的控件确定为定位出的控件。为了提高定位控件的效率,还可以获取当前UI,根据查找到的描述信息中包含的类型信息和属性信息,遍历整个视图层,先根据控件的描述信息中的控件的类型信息筛选出满足控件的类型信息的控件,然后再从上述筛选出的控件中选取满足控件的描述信息中的控件的属性信息的控件,将该控件确定为定位出的控件。
此外,当控件的描述信息除了包括控件的类型信息、控件的属性信息之外,还包括控件的索引信息时,根据查找到的描述信息,在当前的UI包含的各控件中定位该测试指令所针对的控件的具体处理过程可以为:获取当前UI,根据查找到的描述信息中包含的类型信息和属性信息,遍历整个视图层,将查找到的控件的类型信息和属性信息与每个视图中的控件的类型信息和属性信息逐个比对,若比对结果完全相同,再判断是否满足控件的索引信息,若判断结果为满足,则将该控件确定为定位出的控件。为了提高定位控件的效率,还可以获取当前UI,根据查找到的描述信息中包含的类型信息和属性信息,遍历整个视图层,先根据控件的描述信息中的控件的类型信息筛选出满足控件的类型信息的控件,然后再从上述筛选出的控件中选取满足控件的描述信息中的控件的属性信息的控件,再判断是否满足控件的索引信息(例如,若控件的索引信息为2,则选取出的第2个控件满足控件的索引信息),若判断结果为满足,则将该控件确定为定位出的控件。
本申请实施例一中,测试指令可以但不限于包括操作命令和控件的引用信息,如表五所示,为测试指令的组成示意图。
表五:
由表五可知,操作命令一要执行的是对控件list滑动10行的操作,操作命令二要执行的是对控件clickRow点击的操作,操作命令三要执行的是对控件clickButton点击的操作。
在定位出测试指令所针对的控件后,可以根据测试指令中得操作命令,对定位出的控件进行相应的操作,例如,在执行测试指令一时,定位出控件list后,根据该测试指令一中的操作命令对控件list进行滑动10行的操作,在执行测试指令二时,定位出控件clickRow后,根据该测试指令二中的操作命令对控件clickRow进行点击操作,在执行测试指令三时,定位出控件clickButton后,根据该测试指令三中的操作命令对控件clickButton进行点击操作。
由上述处理过程可知,本申请实施例技术方案中,在根据自动化测试脚本中的测试指令对UI进行自动化测试时,从该测试指令中查找该测试指令所针对的控件的标识以及该控件所属UI的标识,然后针对查找到的UI的标识以及控件的标识,在预先存储的UI的标识、控件的标识与控件的描述信息之间的对应关系中,查找该测试指令所针对的控件的描述信息,再根据查找到的描述信息,在当前的UI包含的各控件中定位该测试指令所针对的控件,并根据该测试指令对定位出的控件进行相应的测试操作。由上可见,本申请实施例技术方案中,预先在OS底层信息中获取UI中需要进行测试的控件的描述信息,将获取到的控件的描述信息和控件的标识以及所属UI的标识对应存储,得到UI的标识、控件的标识与控件的描述信息之间的对应关系,后续在对UI进行自动化测试时,可以直接根据需要进行测试的控件的标识以及所属UI的标识,在上述对应关系中查找控件的描述信息,从而能够根据描述信息对控件进行定位,也就是说,采用本申请实施例技术方案对UI进行自动化测试时,无需修改位于OS底层的控件的描述信息,因此有效保证了控件所属应用程序在运行时的稳定性。
下面给出更为详细的实施方式。
实施例二
如图5所示,其为本申请实施例二中的UI自动化测试方法具体实现流程示意图,具体处理过程如下:
步骤51,从OS底层获取自动化测试时所针对的控件的类型信息和属性信息。
步骤52,若一个UI中存在至少两个控件的类型信息和属性信息完全相同,则为控件设定索引信息,将控件的类型信息、属性信息和索引信息作为控件的描述信息;否则,直接将控件的类型信息和属性信息作为控件的描述信息。
步骤53,根据待测试本地应用程序的UI构成,及步骤52确定的控件的描述信息,创建Plist文件,即建立UI的标识、控件的标识与控件的描述信息之间的对应关系。
步骤54,在编写自动化测试脚本时,在测试指令中添加控件的引用信息,即“UI的标识:控件的标识”。
步骤55,在根据自动化测试脚本中的测试指令对UI进行自动化测试时,从该测试指令中查找该测试指令所针对的控件的标识以及该控件所属UI的标识。
步骤56,针对查找到的UI的标识以及控件的标识,在Plist文件中存储的UI的标识、控件的标识与控件的描述信息之间的对应关系中,查找该测试指令所针对的控件的描述信息。
步骤57,根据查找到的描述信息,在当前的UI包含的各控件中定位该测试指令所针对的控件。
步骤58,根据该测试指令中的操作命令对定位出的控件进行相应的测试操作。
实施例三
相应的,本申请实施例三提供一种UI自动化测试装置,其结构如图6所示,包括标识查找单元61、描述信息查找单元62、控件定位单元63和测试单元64,其中:
标识查找单元61,用于在根据自动化测试脚本中的测试指令对UI进行自动化测试时,从该测试指令中查找该测试指令所针对的控件的标识以及该控件所属UI的标识;
描述信息查找单元62,用于针对标识查找单元61查找到的UI的标识以及控件的标识,在预先存储的UI的标识、控件的标识与控件的描述信息之间的对应关系中,查找该测试指令所针对的控件的描述信息;
控件定位单元63,用于根据描述信息查找单元62查找到的描述信息,在当前的UI包含的各控件中定位该测试指令所针对的控件;
测试单元64,用于根据该测试指令对控件定位单元63定位出的控件进行相应的测试操作。
较佳地,控件的描述信息包括控件的类型信息和控件的属性信息。
更佳地,控件的描述信息还包括控件的索引信息;
控件定位单元63具体包括控件查找子单元和控件定位子单元,其中:
控件查找子单元,用于根据描述信息查找单元62查找到的描述信息中包含的类型信息和属性信息,在当前的UI包含的各控件中查找对应的控件;
控件定位子单元,用于在控件查找子单元查找到至少两个控件时,根据描述信息查找单元62查找到的描述信息中包含的索引信息,在控件查找子单元查找到的各控件中定位该测试指令所针对的控件。
较佳地,UI的标识、控件的标识与控件的描述信息之间的对应关系是以控件树结构形式进行存储的。
更佳地,所述对应关系存储于Plist文件中。
本领域的技术人员应明白,本申请的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (8)
1.一种用户界面自动化测试方法,其特征在于,包括:
在根据自动化测试脚本中的测试指令对用户界面UI进行自动化测试时,从该测试指令中查找该测试指令所针对的控件的标识以及该控件所属UI的标识;
针对查找到的UI的标识以及控件的标识,在预先存储的UI的标识、控件的标识与控件的描述信息之间的对应关系中,查找该测试指令所针对的控件的描述信息,所述控件的描述信息包括:控件的类型信息和控件的属性信息;
根据查找到的描述信息,在当前的UI包含的各控件中定位该测试指令所针对的控件,并根据该测试指令对定位出的控件进行相应的测试操作;
根据查找到的描述信息,在当前的UI包含的各控件中定位该测试指令所针对的控件,并根据该测试指令对定位出的控件进行相应的测试操作,包括:
先根据控件的描述信息中的控件的类型信息筛选出满足控件的类型信息的控件,然后再从上述筛选出的控件中选取满足控件的属性信息的控件,将该控件确定为定位出的控件。
2.如权利要求1所述的方法,其特征在于,所述控件的描述信息还包括控件的索引信息;
根据查找到的描述信息,在当前的UI包含的各控件中定位该测试指令所针对的控件,具体包括:
根据查找到的描述信息中包含的类型信息和属性信息,在当前的UI包含的各控件中查找对应的控件;
若查找到至少两个控件,则根据查找到的描述信息中包含的索引信息,在查找到的各控件中定位该测试指令所针对的控件。
3.如权利要求1所述的方法,其特征在于,所述UI的标识、控件的标识与控件的描述信息之间的对应关系是以控件树结构形式进行存储的。
4.如权利要求3所述的方法,其特征在于,所述对应关系存储于Plist文件中。
5.一种用户界面自动化测试装置,其特征在于,包括:
标识查找单元,用于在根据自动化测试脚本中的测试指令对用户界面UI进行自动化测试时,从该测试指令中查找该测试指令所针对的控件的标识以及该控件所属UI的标识;
描述信息查找单元,用于针对标识查找单元查找到的UI的标识以及控件的标识,在预先存储的UI的标识、控件的标识与控件的描述信息之间的对应关系中,查找该测试指令所针对的控件的描述信息,所述控件的描述信息包括:控件的类型信息和控件的属性信息;
控件定位单元,用于根据描述信息查找单元查找到的描述信息,在当前的UI包含的各控件中定位该测试指令所针对的控件;
测试单元,用于根据该测试指令对控件定位单元定位出的控件进行相应的测试操作;
所述控件定位单元,具体用于先根据控件的描述信息中的控件的类型信息筛选出满足控件的类型信息的控件,然后再从上述筛选出的控件中选取满足控件的属性信息的控件,将该控件确定为定位出的控件。
6.如权利要求5所述的装置,其特征在于,所述控件的描述信息还包括控件的索引信息;
所述控件定位单元具体包括:
控件查找子单元,用于根据描述信息查找单元查找到的描述信息中包含的类型信息和属性信息,在当前的UI包含的各控件中查找对应的控件;
控件定位子单元,用于在控件查找子单元查找到至少两个控件时,根据描述信息查找单元查找到的描述信息中包含的索引信息,在控件查找子单元查找到的各控件中定位该测试指令所针对的控件。
7.如权利要求5所述的装置,其特征在于,所述UI的标识、控件的标识与控件的描述信息之间的对应关系是以控件树结构形式进行存储的。
8.如权利要求7所述的装置,其特征在于,所述对应关系存储于Plist文件中。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210062231.6A CN103309797B (zh) | 2012-03-09 | 2012-03-09 | 用户界面自动化测试方法及装置 |
HK13113094.3A HK1185965A1 (zh) | 2012-03-09 | 2013-11-25 | 用戶界面自動化測試方法及裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210062231.6A CN103309797B (zh) | 2012-03-09 | 2012-03-09 | 用户界面自动化测试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103309797A CN103309797A (zh) | 2013-09-18 |
CN103309797B true CN103309797B (zh) | 2016-05-04 |
Family
ID=49135044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210062231.6A Active CN103309797B (zh) | 2012-03-09 | 2012-03-09 | 用户界面自动化测试方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103309797B (zh) |
HK (1) | HK1185965A1 (zh) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572431B (zh) * | 2013-10-24 | 2017-07-21 | 阿里巴巴集团控股有限公司 | 一种测试方法及装置 |
CN104102704B (zh) * | 2014-07-08 | 2017-12-26 | 深信服科技股份有限公司 | 系统控件展示方法和装置 |
CN105335283B (zh) * | 2014-08-01 | 2018-07-06 | 阿里巴巴集团控股有限公司 | 终端设备中的应用测试方法及装置 |
CN105630665B (zh) * | 2014-11-07 | 2019-01-01 | 卓望数码技术(深圳)有限公司 | 一种基于安卓系统的应用程序调试方法及终端设备 |
CN105740304B (zh) * | 2014-12-12 | 2019-12-24 | 阿里巴巴集团控股有限公司 | 可视化页面编辑方法、装置及a/b测试方法、装置 |
CN104461892B (zh) * | 2014-12-15 | 2018-04-03 | 北京国双科技有限公司 | 自定义控件获取方法和装置 |
CN104572452B (zh) * | 2014-12-25 | 2018-03-30 | 曙光信息产业(北京)有限公司 | 前端的测试方法和装置 |
CN104778121B (zh) * | 2015-03-25 | 2018-09-18 | 网易(杭州)网络有限公司 | 游戏程序的测试方法、装置及系统 |
CN104899046B (zh) * | 2015-06-26 | 2018-01-30 | 上海斐讯数据通信技术有限公司 | 一种多功能脚本运行方法和系统 |
CN104881364A (zh) * | 2015-06-26 | 2015-09-02 | 上海斐讯数据通信技术有限公司 | 应用于安卓系统的自动化测试方法及系统 |
CN105354138A (zh) * | 2015-10-12 | 2016-02-24 | 上海斐讯数据通信技术有限公司 | 一种确定手机页面上特定控件属性的方法 |
CN105550114B (zh) * | 2015-12-23 | 2018-01-19 | 广东欧珀移动通信有限公司 | 自动化测试方法、装置和移动终端 |
CN105743736B (zh) * | 2016-01-27 | 2019-01-04 | 武汉联影医疗科技有限公司 | 自动化测试方法及系统 |
CN105975260B (zh) * | 2016-04-28 | 2019-05-03 | 广州华多网络科技有限公司 | 一种文件生成方法及装置 |
CN106383780A (zh) * | 2016-09-05 | 2017-02-08 | 努比亚技术有限公司 | 一种Monkey测试方法及装置 |
CN106776301B (zh) * | 2016-12-01 | 2020-12-04 | 广州酷狗计算机科技有限公司 | 子元素测试方法及装置 |
CN108664382B (zh) * | 2017-03-28 | 2022-02-25 | 上海合福信息科技有限公司 | 一种控件验证方法及软件自动测试方法 |
CN108664383B (zh) * | 2017-03-28 | 2021-10-15 | 上海合福信息科技有限公司 | 一种控件测试方法及软件自动测试方法 |
CN107085554B (zh) * | 2017-04-11 | 2019-09-20 | 武汉斗鱼网络科技有限公司 | 一种添加控件标识的方法和装置 |
CN107783867B (zh) * | 2017-07-25 | 2020-02-14 | 深圳壹账通智能科技有限公司 | 手势测试方法、装置、计算机设备和存储介质 |
CN107704396A (zh) * | 2017-10-20 | 2018-02-16 | 平安科技(深圳)有限公司 | 应用程序的测试方法及装置 |
CN109814957B (zh) * | 2017-11-20 | 2022-06-07 | 北京京东尚科信息技术有限公司 | 一种用于ios系统的标签添加方法和装置 |
CN109979444A (zh) * | 2017-12-27 | 2019-07-05 | 深圳市优必选科技有限公司 | 一种语音指令自动化测试方法、终端以及装置 |
CN108345485B (zh) * | 2018-01-30 | 2021-05-07 | 口碑(上海)信息技术有限公司 | 用于界面视图的标识方法及装置 |
CN108984389B (zh) * | 2018-06-01 | 2021-04-09 | 平安科技(深圳)有限公司 | 一种应用程序测试方法及终端设备 |
CN110737573B (zh) * | 2018-07-18 | 2023-02-17 | 北京奇虎科技有限公司 | 用户界面ui自动化测试的方法和装置 |
CN109144864B (zh) * | 2018-08-13 | 2022-09-06 | 北京百度网讯科技有限公司 | 用于测试窗口的方法及装置 |
CN109408361A (zh) * | 2018-08-15 | 2019-03-01 | 中国平安人寿保险股份有限公司 | Monkey测试复原方法、装置、电子设备及计算机可读存储介质 |
CN109117373A (zh) * | 2018-08-16 | 2019-01-01 | 杭州友声科技股份有限公司 | 一种基于规则引导进行ui遍历的方法 |
CN109542440A (zh) * | 2018-11-29 | 2019-03-29 | 金蝶软件(中国)有限公司 | 对窗口的操作方法和装置、计算机装置及可读存储介质 |
CN109783356A (zh) * | 2018-12-14 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 一种自动化测试方法及终端 |
CN109739764A (zh) * | 2018-12-29 | 2019-05-10 | 中国联合网络通信集团有限公司 | 一种应用程序测试方法和装置 |
CN109857673B (zh) * | 2019-02-25 | 2022-02-15 | 北京云测信息技术有限公司 | 控件识别方法和装置 |
CN109947650B (zh) * | 2019-03-20 | 2022-04-29 | 北京云测信息技术有限公司 | 脚本步骤处理方法、装置和系统 |
CN113110987B (zh) * | 2020-01-13 | 2024-04-09 | 中车唐山机车车辆有限公司 | 一种动车组单节车厢制动调试方法及调试设备 |
CN112749081B (zh) * | 2020-03-23 | 2023-09-22 | 腾讯科技(深圳)有限公司 | 用户界面测试方法及相关装置 |
CN114079694B (zh) * | 2020-08-14 | 2023-03-24 | 华为技术有限公司 | 控件标注方法及装置 |
CN112269746A (zh) * | 2020-11-10 | 2021-01-26 | 京东数科海益信息科技有限公司 | 自动化测试方法及相关设备 |
CN113742223A (zh) * | 2021-08-23 | 2021-12-03 | 北京鲸鲮信息系统技术有限公司 | 标识控件的方法及装置、电子设备、存储介质 |
CN114511696A (zh) * | 2021-12-22 | 2022-05-17 | 北京云测信息技术有限公司 | 控件定位方法、装置、电子设备及可读存储介质 |
CN117130527A (zh) * | 2023-03-31 | 2023-11-28 | 荣耀终端有限公司 | 日程管理方法、电子设备和计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339534A (zh) * | 2008-06-17 | 2009-01-07 | 金蝶软件(中国)有限公司 | 一种软件测试的方法及装置 |
CN101630286A (zh) * | 2009-08-07 | 2010-01-20 | 金蝶软件(中国)有限公司 | 一种自动化测试方法及装置 |
CN101655817A (zh) * | 2009-09-24 | 2010-02-24 | 成都市华为赛门铁克科技有限公司 | 图形用户界面测试方法及测试装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7093238B2 (en) * | 2001-07-27 | 2006-08-15 | Accordsqa, Inc. | Automated software testing and validation system |
-
2012
- 2012-03-09 CN CN201210062231.6A patent/CN103309797B/zh active Active
-
2013
- 2013-11-25 HK HK13113094.3A patent/HK1185965A1/zh unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339534A (zh) * | 2008-06-17 | 2009-01-07 | 金蝶软件(中国)有限公司 | 一种软件测试的方法及装置 |
CN101630286A (zh) * | 2009-08-07 | 2010-01-20 | 金蝶软件(中国)有限公司 | 一种自动化测试方法及装置 |
CN101655817A (zh) * | 2009-09-24 | 2010-02-24 | 成都市华为赛门铁克科技有限公司 | 图形用户界面测试方法及测试装置 |
Non-Patent Citations (1)
Title |
---|
《自动化测试中基于GUI非标准控件的识别和应用方法》;厉旻等;《微计算机信息》;20100215;第26卷(第2-1期);参见摘要,第183-185页,图3-1,图4-1 * |
Also Published As
Publication number | Publication date |
---|---|
HK1185965A1 (zh) | 2014-02-28 |
CN103309797A (zh) | 2013-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103309797B (zh) | 用户界面自动化测试方法及装置 | |
EP3956763B1 (en) | Systems and methods for semi-automated data transformation and presentation of content through adapted user interface | |
US10853382B2 (en) | Interactive punchcard visualizations | |
Goloboff et al. | TNT, a free program for phylogenetic analysis | |
US10459939B1 (en) | Parallel coordinates chart visualization for machine data search and analysis system | |
US11037342B1 (en) | Visualization modules for use within a framework for displaying interactive visualizations of event data | |
US11580088B2 (en) | Creation, management, and transfer of interaction representation sets | |
US20190050378A1 (en) | Serializable and serialized interaction representations | |
CN106897361B (zh) | 基于树状结构的标签页分组管理系统及方法 | |
US10853380B1 (en) | Framework for displaying interactive visualizations of event data | |
CN104423961B (zh) | 一种生成测试脚本的方法及系统 | |
US10861202B1 (en) | Sankey graph visualization for machine data search and analysis system | |
US20220164526A1 (en) | Method And Apparatus For Structured Documents | |
CN104516813A (zh) | 网络页面的测试节点的选取方法和装置 | |
WO2023029275A1 (zh) | 数据关联分析方法、装置、计算机设备和存储介质 | |
US20190384621A1 (en) | Next operation prediction for a workflow | |
CN107908794A (zh) | 一种数据挖掘的方法、系统、设备及计算机可读存储介质 | |
EP2951680B1 (en) | Acquiring identification of an application lifecycle management entity associated with similar code | |
CN116881476A (zh) | 一种知识图谱构建方法、平台及计算机存储介质 | |
US9652456B2 (en) | Automated relationship management for darwin information typing architecture | |
CN113485909A (zh) | 测试方法、装置、计算设备以及介质 | |
US11010140B2 (en) | Integration of workflow and logical data objects using visual programming | |
CN116128448B (zh) | Fpga工程项目的设计数据处理方法、装置、电子设备 | |
WO2014014876A1 (en) | Multi-dimensional file system | |
CN112579456B (zh) | 一种Web自动化测试方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1185965 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1185965 Country of ref document: HK |