CN107368418B - 一种遍历测试的方法、装置和介质 - Google Patents
一种遍历测试的方法、装置和介质 Download PDFInfo
- Publication number
- CN107368418B CN107368418B CN201710619815.1A CN201710619815A CN107368418B CN 107368418 B CN107368418 B CN 107368418B CN 201710619815 A CN201710619815 A CN 201710619815A CN 107368418 B CN107368418 B CN 107368418B
- Authority
- CN
- China
- Prior art keywords
- control
- window
- selection
- box
- application program
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
Abstract
本发明实施例中,提出一种遍历测试的方法,包括:确定待测应用程序所能够呈现的至少一个窗口;针对所述至少一个窗口中的每一个窗口,获取该窗口中的所有控件及与每一个控件相对应的属性,根据对应的属性将所述每一个控件进行测试;在该方案中,先确定待测的应用程序所包括的窗口,再对每一个窗口下的每一个控件进行操作来执行遍历测试,在此方案中并不需要人工参与,因此,可以避免现有技术中存在的准确度不高的缺陷,另外,该方案也不是通过测试用例来测试的,因此,可以避免现有技术中存在的效率较低的缺陷。
Description
技术领域
本发明的实施方式涉及应用程序测试领域,更具体地,本发明的实施方式涉及一种遍历测试的方法、装置和介质。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
随着计算机应用程序越来越广泛,需要通过不断开发新的应用程序,来满足人们不同的需求,而在应用程序开发完成后,发布之前,为了保证应用程序的可用性,通常会进行相关测试,其中,应用程序的遍历测试是其中一项较为普遍且重要的测试。遍历测试,是指通过对被测的应用程序的每个窗口下的每个控件进行相应操作,进而判断应用程序是否可以稳定运行的测试,例如,点击被测应用程序的每一个按钮,在每一个输入框输入内容,测试应用程序在对每一个控件进行对应的操作下,是否存在“闪退”、“崩溃”、“无响应”等问题。
目前主要采用如下几种方法来进行遍历测试:
一种方法为通过人工的方式来进行测试,这种方法由于需要测试员来操作,因此,稳定性在长时间的操作下很难得到保障,存在测试结果不准确的缺陷;另外一种方法为通过编写测试用例的方法来测试,但是如果测试的应用程序有改动的话,测试用例一般也要进行修改,因此,这种方法存在耗时较长、效率较低的缺陷。
发明内容
现有技术中存在测试结果不准确、耗时较长和效率较低的缺陷,这是非常令人烦恼的过程。
为此,非常需要一种改进的遍历测试的方法和装置,以使解决现有技术中存在的准确度较低和效率较低的缺陷。
在本发明实施方式的第一方面中,提供了一种遍历测试的方法,包括:
确定待测应用程序所能够呈现的至少一个窗口;
针对所述至少一个窗口中的每一个窗口,获取该窗口中的所有控件及与每一个控件相对应的属性,根据对应的属性将所述每一个控件进行测试。
在一个实施方式中,根据本发明的上述实施方式所述的方法,确定待测应用程序所能够呈现的至少一个窗口,包括:
采用反汇编技术确定待测应用程序所能够呈现的至少一个窗口。
在一些实施方式中,根据本发明的上述任一实施方式所述的方法,获取该窗口中的所有控件及与每一个控件相对应的属性,包括:
采用autoit应用程序获取该窗口中的所有控件及与每一个控件相对应的属性。
在一些实施方式中,根据本发明的上述任一实施方式所述的方法,所述属性包括控件的类别和能够被该类别的控件响应的操作。
在一些实施方式中,根据本发明的上述任一实施方式所述的方法,根据对应的属性将所述每一个控件进行测试,包括:
若控件的类别为按钮,将所述按钮进行能够被按钮响应的点击操作。
在一些实施方式中,根据本发明的上述任一实施方式所述的方法,根据对应的属性将所述每一个控件进行测试,包括:
若控件的类别为输入框,在所述输入框中进行能够被输入框响应的输入操作。
在一些实施方式中,根据本发明的上述任一实施方式所述的方法,根据对应的属性将所述每一个控件进行测试,包括:
若控件的类别为滚动条,将所述滚动条进行能够被滚动条响应的滑动操作。
在一些实施方式中,根据本发明的上述任一实施方式所述的方法,根据对应的属性将所述每一个控件进行测试,包括:
若控件的类别为包括选择框,将所述选择框进行能够被选择框响应的选择操作。
在一些实施方式中,根据本发明的上述任一实施方式所述的方法,若所述选择框为单选框,将所述选择框进行能够被选择框响应的选择操作,包括:
将单选框中的元素进行点击操作,任意一元素被点击后,所述单选框中不能够同时存在两个以上已经被选择的元素。
在一些实施方式中,根据本发明的上述任一实施方式所述的方法,若所述选择框为复选框,将所述选择框进行能够被选择框响应的选择操作,包括:
将所述选择框中的元素进行点击操作,任意一元素被点击后,所述选择框中能够同时存在两个以上已经被选择的元素。
在一些实施方式中,根据本发明的上述任一实施方式所述的方法,根据对应的属性将所述每一个控件进行测试,包括:
若控件的类别为地图,将所述地图进行能够被地图响应的点击、拖拽、缩小和放大中的至少一种操作。
在一些实施方式中,根据本发明的上述任一实施方式所述的方法,所述方法还包括:
监控所述待测应用程序的测试进程是否存在;
当监控到所述待测应用程序的测试进程不存在时,停止测试;
当监控到所述待测应用程序的测试进程存在时,继续测试。
在一些实施方式中,根据本发明的上述任一实施方式所述的方法,当监控到所述待测应用程序的测试进程存在时,所述方法还包括:
监控所述待测应用程序所处设备的性能指标。
在一些实施方式中,根据本发明的上述任一实施方式所述的方法,所述性能指标为所述待测应用对所述设备的内存的占有率、对中央处理器CPU的占有率和对磁盘的占有率中的至少一种。
在本发明实施方式的第二方面中,提供了一种遍历测试的装置,包括:
确定单元,用于确定待测应用程序所能够呈现的至少一个窗口;
测试单元,用于针对所述至少一个窗口中的每一个窗口,获取该窗口中的所有控件及与每一个控件相对应的属性,根据对应的属性将所述每一个控件进行测试。
在一个实施方式中,根据本发明的上述实施方式所述的装置,所述确定单元确定待测应用程序所能够呈现的至少一个窗口时,具体为:
采用反汇编技术确定待测应用程序所能够呈现的至少一个窗口。
在一些实施方式中,根据本发明的上述任一实施方式所述的装置,所述测试单元在获取该窗口中的所有控件及与每一个控件相对应的属性时,具体为:
采用autoit应用程序获取该窗口中的所有控件及与每一个控件相对应的属性。
在一些实施方式中,根据本发明的上述任一实施方式所述的装置,所述属性包括控件的类别和能够被该类别的控件响应的操作。
在一些实施方式中,根据本发明的上述任一实施方式所述的装置,所述测试单元根据对应的属性将所述每一个控件进行测试时,具体为:
若控件的类别为按钮,将所述按钮进行能够被按钮响应的点击操作。
在一些实施方式中,根据本发明的上述任一实施方式所述的装置,所述测试单元根据对应的属性将所述每一个控件进行测试时,具体为:
若控件的类别为输入框,在所述输入框中进行能够被输入框响应的输入操作。
在一些实施方式中,根据本发明的上述任一实施方式所述的装置,所述测试单元根据对应的属性将所述每一个控件进行测试时,具体为:
若控件的类别为滚动条,将所述滚动条进行能够被滚动条响应的滑动操作。
在一些实施方式中,根据本发明的上述任一实施方式所述的装置,所述测试单元根据对应的属性将所述每一个控件进行测试时,具体为:
若控件的类别为包括选择框,将所述选择框进行能够被选择框响应的选择操作。
在一些实施方式中,根据本发明的上述任一实施方式所述的装置,若所述选择框为单选框,所述测试单元将所述选择框进行能够被选择框响应的选择操作时,具体为:
将单选框中的元素进行点击操作,任意一元素被点击后,所述单选框中不能够同时存在两个以上已经被选择的元素。
在一些实施方式中,根据本发明的上述任一实施方式所述的装置,若所述选择框为复选框,所述测试单元将所述选择框进行能够被选择框响应的选择操作时,具体为:
将所述选择框中的元素进行点击操作,任意一元素被点击后,所述选择框中能够同时存在两个以上已经被选择的元素。
在一些实施方式中,根据本发明的上述任一实施方式所述的装置,所述测试单元根据对应的属性将所述每一个控件进行测试时,具体为:
若控件的类别为地图,将所述地图进行能够被地图响应的点击、拖拽、缩小和放大中的至少一种操作。
在一些实施方式中,根据本发明的上述任一实施方式所述的装置,所述装置还包括监控单元,用于监控所述待测应用程序的测试进程是否存在;
所述测试单元还用于,在所述监控单元监控到所述待测应用程序的测试进程不存在时,停止测试;在所述监控单元监控到所述待测应用程序的测试进程存在时,继续测试。
在一些实施方式中,根据本发明的上述任一实施方式所述的装置,所述监控单元还用于,监控所述待测应用程序所处设备的性能指标。
在一些实施方式中,根据本发明的上述任一实施方式所述的装置,所述性能指标为所述待测应用对所述设备的内存的占有率、对中央处理器CPU的占有率和对磁盘的占有率中的至少一种。
在本发明实施方式的第三方面中,提供了一种遍历测试的装置,包括:
一个或者多个处理器;
存储器;
存储在所述存储器中的程序,当被所述一个或者多个处理器执行时,所述程序使所述处理器执行如上所述的方法。
在本发明实施方式的第四方面中,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有程序,当所述程序被处理器执行时,使得所述处理器执行如上所述的方法。
本发明实施例中,提出一种遍历测试的方案,包括:确定待测应用程序所能够呈现的至少一个窗口;针对所述至少一个窗口中的每一个窗口,获取该窗口中的所有控件及与每一个控件相对应的属性,根据对应的属性将所述每一个控件进行测试;在该方案中,先确定待测的应用程序所包括的窗口,再对每一个窗口下的每一个控件进行操作来执行遍历测试,在此方案中并不需要人工参与,因此,可以避免现有技术中存在的准确度不高的缺陷,另外,该方案也不是通过测试用例来测试的,因此,可以避免现有技术中存在的效率较低的缺陷。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1A示意性地示出了根据本发明实施方式的遍历测试的方法流程图;
图1B示意性地示出了根据本发明实施方式的选择框的一种示意图;
图1C示意性地示出了根据本发明实施方式的选择框的另一种示意图;
图1D示意性地示出了根据本发明实施方式的遍历测试的方法示例流程图;
图2示意性地示出了根据本发明实施方式的遍历测试的装置示意图;
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
在本文中,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,在进行遍历测试的时候,确定应用程序所能够呈现的窗口、各个窗口下的控件及每一个控件的属性,例如控件的属性是输入框,还是点击按钮等,这样根据控件的属性对不同的控件执行对应的操作,通过对每一个窗口的每一个控件都执行对应的操作,根据这些操作可以判断应用程序是否会发生“闪退”、“崩溃”、“无响应”等问题,因此,对所有控件都执行完对应操作后就完成了对应用程序的遍历测试。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
例如,待测应用程序包括10个窗口:窗口1、窗口2、窗口3、……、窗口10,窗口1包括2个控件、窗口2包括2个控件、窗口3包括4个控件、……、窗口10包括2个控件,针对窗口1的2个控件,分别根据对应的属性执行相应的操作,针对窗口2的2个控件,分别根据对应的属性执行相应的操作,针对窗口3的4个控件,分别根据对应的属性执行相应的操作,……,针对窗口10的2个控件,分别根据对应的属性执行相应的操作,将10个窗口的每一个控件都执行完对应的操作后,完成了待测应用程序的遍历测试。
示例性方法
下面结合上述应用场景,参考图1A来描述根据本发明示例性实施方式的用于遍历测试的方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
参阅图1A所示,本发明实施例,提出一种遍历测试的方法10,包括:
步骤100:确定待测应用程序所能够呈现的至少一个窗口;
步骤110:针对所述至少一个窗口中的每一个窗口,获取该窗口中的所有控件及与每一个控件相对应的属性,根据对应的属性将所述每一个控件进行测试。
本发明实施例中,确定待测应用程序所能够呈现的至少一个窗口时,可选地,可以采用如下方式:
采用反汇编技术确定待测应用程序所能够呈现的至少一个窗口。
进一步的,还可以采用反汇编技术确定出各个窗口的属性,例如,一级窗口的大小、位置以及控件等信息,二级窗口的大小、位置以及控件等信息。
在确定出待测应用程序的窗口后,进一步的,还可以获取该窗口中的所有控件及与每一个控件相对应的属性,可选地,可以采用如下方式:
采用autoit应用程序获取该窗口中的所有控件及与每一个控件相对应的属性。
其中,可选地,所述属性包括控件的类别和能够被该类别的控件响应的操作。例如,控件的类别可以为按钮、输入框、单选选择框、复选选择框、滚动条、地图等。
不同类别的控件对应的响应的操作可能是不同的,因此,根据对应的属性将所述每一个控件进行测试的方式有多种,例如:
若控件的类别为按钮,将所述按钮进行能够被按钮响应的点击操作。
又例如,若控件的类别为输入框,在所述输入框中进行能够被输入框响应的输入操作。例如,在输入框中输入姓名、输入身份证号码。
又例如,若控件的类别为滚动条,将所述滚动条进行能够被滚动条响应的滑动操作。例如,将滚动条向上滑动、向下滑动、向左滑动或者向右滑动。
又例如,若控件的类别为包括选择框,将所述选择框进行能够被选择框响应的选择操作。
其中,选择框可以有两种,一种为单选框,一种为多选框。
若所述选择框为单选框,将所述选择框进行能够被选择框响应的选择操作时,可选地,可以采用如下方式:
将单选框中的元素进行点击操作,任意一元素被点击后,所述单选框中不能够同时存在两个以上已经被选择的元素。
图1B所示的是某一产品的货源地的选择框,为单选框,用户点击广东这个元素后,选中广东为该产品的货源地,接下来,用户再点击四川这个元素后,被选中的广东这个元素失去被选中的效力,四川作为该产品的货源地,同理,如果接下来,用户继续点击山东这个元素的话,被选中的四川这个元素失去被选中的效力,山东作为该产品的货源地。上述只是具体示例,并不限定于此。
其中,若所述选择框为复选框,将所述选择框进行能够被选择框响应的选择操作时,可选地,可以采用如下方式:
将所述选择框中的元素进行点击操作,任意一元素被点击后,所述选择框中能够同时存在两个以上已经被选择的元素。
图1C为供用户选择的喜欢的新闻的类别,用户点击体育类别下的中超这个元素后,中超作为用户喜欢的新闻的类别,接下来,用户点击时尚类别下的教育这个元素后,教育也可以作为用户喜欢的新闻的类别,此时,中超和教育可以同时作为用户喜欢的新闻的类别。
本发明实施例中,若控件的类别为地图,根据对应的属性将所述每一个控件进行测试时,可选地,可以采用如下操作:
将所述地图进行能够被地图响应的点击、拖拽、缩小和放大中的至少一种操作。
本发明实施例中,在对控件执行对应的操作时,可能会出现应用程序闪退的情况,针对这种情况要执行对应的操作,因此,本发明实施例中,进一步的,还要监控应用程序是否发生闪退的情况,例如::
监控所述待测应用程序的测试进程是否存在;
当监控到所述待测应用程序的测试进程不存在时,停止测试;
当监控到所述待测应用程序的测试进程存在时,继续测试。
本发明实施例中,当监控到所述待测应用程序的测试进程存在时,进一步的,所述方法还包括:
监控所述待测应用程序所处设备的性能指标,以使得当监控到性能指标不符合条件时能够对测试应用程序进行调整。
其中,可选地,所述性能指标为所述待测应用对所述设备的内存的占有率、CPU(Central Processing Unit,对中央处理器)的占有率和对磁盘的占有率中的至少一种。
下面参考图1D,对本方案提出的遍历测试进行举例说明。
采用反汇编技术确定待测应用程序所包括的窗口,生成窗口list:窗口1、窗口2、窗口3和窗口4,针对4个窗口中的每一个窗口,采用autoit应用程序获取该窗口中的所有控件及与每一个控件相对应的属性,例如,针对窗口1,采用autoit应用程序获取该窗口1中的所有控件及与每一个控件相对应的属性;针对窗口2,采用autoit应用程序获取该窗口2中的所有控件及与每一个控件相对应的属性;针对窗口3,采用autoit应用程序获取该窗口3中的所有控件及与每一个控件相对应的属性;针对窗口4,采用autoit应用程序获取该窗口4中的所有控件及与每一个控件相对应的属性;若控件的类别为按钮,点击该按钮;若控件的类别为输入框,在所述输入框中输入文字;若控件的类别为滚动条,将所述滚动条向上、向下、向左及向右滑动;若控件的类别为选择框,将选择框中的元素进行点击操作,在测试的过程中,对内存、CPU、磁盘进行监控。
示例性装置
在介绍了本发明示例性实施方式的方法之后,接下来,参考图2对本发明示例性实施方式的、用于遍历测试的装置20进行简单描述。
装置20包括确定单元200,用于确定待测应用程序所能够呈现的至少一个窗口;
测试单元210,用于针对所述至少一个窗口中的每一个窗口,获取该窗口中的所有控件及与每一个控件相对应的属性,根据对应的属性将所述每一个控件进行测试。
本发明实施例中,可选地,所述确定单元200确定待测应用程序所能够呈现的至少一个窗口时,具体为:
采用反汇编技术确定待测应用程序所能够呈现的至少一个窗口。
进一步的,还可以采用反汇编技术确定出各个窗口的属性,例如,一级窗口的大小、位置以及控件等信息,二级窗口的大小、位置以及控件等信息。
在确定出待测应用程序的窗口后,进一步的,还可以获取该窗口中的所有控件及与每一个控件相对应的属性,例如,所述测试单元210获取该窗口中的所有控件及与每一个控件相对应的属性,具体为:
采用autoit应用程序获取该窗口中的所有控件及与每一个控件相对应的属性。
其中,可选地,所述属性包括控件的类别和能够被该类别的控件响应的操作。例如,控件的类别可以为按钮、输入框、单选选择框、复选选择框、滚动条、地图等。
不同类别的控件对应的相应的操作可能是不同的,因此,根据对应的属性将所述每一个控件进行测试的方式有多种,具体可以有如下几种:
所述测试单元210根据对应的属性将所述每一个控件进行测试时,具体为:
若控件的类别为按钮,将所述按钮进行能够被按钮响应的点击操作。
又或者,所述测试单元210根据对应的属性将所述每一个控件进行测试时,具体为:
若控件的类别为输入框,在所述输入框中进行能够被输入框响应的输入操作。例如,在输入框中输入姓名、输入身份证号码。
又或者,所述测试单元210根据对应的属性将所述每一个控件进行测试时,具体为:
若控件的类别为滚动条,将所述滚动条进行能够被滚动条响应的滑动操作。例如,将滚动条向上滑动、向下滑动、向左滑动或者向右滑动。
又或者,所述测试单元210根据对应的属性将所述每一个控件进行测试时,具体为:
若控件的类别为包括选择框,将所述选择框进行能够被选择框响应的选择操作。其中,选择框可以有两种,一种为单选框,一种为多选框。
其中,若所述选择框为单选框,所述测试单元210将所述选择框进行能够被选择框响应的选择操作时,具体为:
将单选框中的元素进行点击操作,任意一元素被点击后,所述单选框中不能够同时存在两个以上已经被选择的元素。
图1B所示的是某一产品的货源地的选择框,为单选框,用户点击广东这个元素后,选中广东为该产品的货源地,接下来,用户再点击四川这个元素后,被选中的广东这个元素失去被选中的效力,四川作为该产品的货源地,同理,如果接下来,用户继续点击山东这个元素的话,被选中的四川这个元素失去被选中的效力,山东作为该产品的货源地。上述只是具体示例,并不限定于此。
其中,若所述选择框为复选框,所述测试单元210将所述选择框进行能够被选择框响应的选择操作时,具体为:
将所述选择框中的元素进行点击操作,任意一元素被点击后,所述选择框中能够同时存在两个以上已经被选择的元素。
图1C为供用户选择的喜欢的新闻的类别,用户点击体育类别下的中超这个元素后,中超作为用户喜欢的新闻的类别,接下来,用户点击时尚类别下的教育这个元素后,教育也可以作为用户喜欢的新闻的类别,此时,中超和教育可以同时作为用户喜欢的新闻的类别。
其中,可选地,所述测试单元210根据对应的属性将所述每一个控件进行测试时,具体为:
若控件的类别为地图,将所述地图进行能够被地图响应的点击、拖拽、缩小和放大中的至少一种操作。
本发明实施例中,在对控件执行对应的操作时,可能会出现应用程序闪退的情况,针对这种情况要执行对应的操作,因此,本发明实施例中,进一步的,所述装置20还包括监控单元220,用于监控所述待测应用程序的测试进程是否存在;
所述测试单元210还用于,在所述监控单元220监控到所述待测应用程序的测试进程不存在时,停止测试;在所述监控单元220监控到所述待测应用程序的测试进程存在时,继续测试。
本发明实施例中,当监控到所述待测应用程序的测试进程存在时,进一步的,所述监控单元220还用于,监控所述待测应用程序所处设备的性能指标。
其中,可选地,所述性能指标为所述待测应用对所述设备的内存的占有率、对CPU的占有率和对磁盘的占有率中的至少一种。
下面参考图1D,对本方案提出的遍历测试进行举例说明。
采用反汇编技术确定待测应用程序所包括的窗口,生成窗口list:窗口1、窗口2、窗口3和窗口4,针对4个窗口中的每一个窗口,采用autoit应用程序获取该窗口中的所有控件及与每一个控件相对应的属性,例如,针对窗口1,采用autoit应用程序获取该窗口1中的所有控件及与每一个控件相对应的属性;针对窗口2,采用autoit应用程序获取该窗口2中的所有控件及与每一个控件相对应的属性;针对窗口3,采用autoit应用程序获取该窗口3中的所有控件及与每一个控件相对应的属性;针对窗口4,采用autoit应用程序获取该窗口4中的所有控件及与每一个控件相对应的属性;若控件的类别为按钮,点击该按钮;若控件的类别为输入框,在所述输入框中输入文字;若控件的类别为滚动条,将所述滚动条向上、向下、向左及向右滑动;若控件的类别为选择框,将选择框中的元素进行点击操作,在测试的过程中,对内存、CPU、磁盘进行监控。
示例性装置
在介绍了本发明示例性实施方式的方法和装置之后,接下来,介绍根据本发明的另一示例性实施方式的用于遍历测试的装置。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本发明实施方式的用于遍历测试的装置可以包括至少一个处理器、以及至少一个存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的用于遍历测试的方法中的步骤。例如,处理单元可以执行如图1A中所示的遍历测试的方法的步骤以及细化方案。
示例性程序产品
在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所示程序产品在处理器上运行时,所述程序代码用于使处理器执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的遍历测试的方法中的步骤,例如,可以执行如图1A中所示的遍历测试的方法的步骤以及细化方案。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元/模块或子单元/子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (26)
1.一种遍历测试的方法,包括:
确定待测应用程序所能够呈现的至少一个窗口;
针对所述至少一个窗口中的每一个窗口,获取该窗口中的所有控件及与每一个控件相对应的属性,根据对应的属性将所述每一个控件进行测试;
其中,获取该窗口中的所有控件及与每一个控件相对应的属性,包括:采用autoit应用程序获取该窗口中的所有控件及与每一个控件相对应的属性;所述属性包括控件的类别和能够被该类别的控件响应的操作。
2.如权利要求1所述的方法,确定待测应用程序所能够呈现的至少一个窗口,包括:
采用反汇编技术确定待测应用程序所能够呈现的至少一个窗口。
3.如权利要求1所述的方法,根据对应的属性将所述每一个控件进行测试,包括:
若控件的类别为按钮,将所述按钮进行能够被按钮响应的点击操作。
4.如权利要求1所述的方法,根据对应的属性将所述每一个控件进行测试,包括:
若控件的类别为输入框,在所述输入框中进行能够被输入框响应的输入操作。
5.如权利要求1所述的方法,根据对应的属性将所述每一个控件进行测试,包括:
若控件的类别为滚动条,将所述滚动条进行能够被滚动条响应的滑动操作。
6.如权利要求1所述的方法,根据对应的属性将所述每一个控件进行测试,包括:
若控件的类别为包括选择框,将所述选择框进行能够被选择框响应的选择操作。
7.如权利要求6所述的方法,若所述选择框为单选框,将所述选择框进行能够被选择框响应的选择操作,包括:
将单选框中的元素进行点击操作,任意一元素被点击后,所述单选框中不能够同时存在两个以上已经被选择的元素。
8.如权利要求6所述的方法,若所述选择框为复选框,将所述选择框进行能够被选择框响应的选择操作,包括:
将所述选择框中的元素进行点击操作,任意一元素被点击后,所述选择框中能够同时存在两个以上已经被选择的元素。
9.如权利要求6所述的方法,根据对应的属性将所述每一个控件进行测试,包括:
若控件的类别为地图,将所述地图进行能够被地图响应的点击、拖拽、缩小和放大中的至少一种操作。
10.如权利要求1-9任一项所述的方法,所述方法还包括:
监控所述待测应用程序的测试进程是否存在;
当监控到所述待测应用程序的测试进程不存在时,停止测试;
当监控到所述待测应用程序的测试进程存在时,继续测试。
11.如权利要求10所述的方法,当监控到所述待测应用程序的测试进程存在时,所述方法还包括:
监控所述待测应用程序所处设备的性能指标。
12.如权利要求11所述的方法,所述性能指标为所述待测应用对所述设备的内存的占有率、对中央处理器CPU的占有率和对磁盘的占有率中的至少一种。
13.一种遍历测试的装置,包括:
确定单元,用于确定待测应用程序所能够呈现的至少一个窗口;
测试单元,用于针对所述至少一个窗口中的每一个窗口,获取该窗口中的所有控件及与每一个控件相对应的属性,根据对应的属性将所述每一个控件进行测试;
其中,所述测试单元在获取该窗口中的所有控件及与每一个控件相对应的属性时,具体为:采用autoit应用程序获取该窗口中的所有控件及与每一个控件相对应的属性;所述属性包括控件的类别和能够被该类别的控件响应的操作。
14.如权利要求13所述的装置,所述确定单元确定待测应用程序所能够呈现的至少一个窗口时,具体为:
采用反汇编技术确定待测应用程序所能够呈现的至少一个窗口。
15.如权利要求13所述的装置,所述测试单元根据对应的属性将所述每一个控件进行测试时,具体为:
若控件的类别为按钮,将所述按钮进行能够被按钮响应的点击操作。
16.如权利要求13所述的装置,所述测试单元根据对应的属性将所述每一个控件进行测试时,具体为:
若控件的类别为输入框,在所述输入框中进行能够被输入框响应的输入操作。
17.如权利要求13所述的装置,所述测试单元根据对应的属性将所述每一个控件进行测试时,具体为:
若控件的类别为滚动条,将所述滚动条进行能够被滚动条响应的滑动操作。
18.如权利要求13所述的装置,所述测试单元根据对应的属性将所述每一个控件进行测试时,具体为:
若控件的类别为包括选择框,将所述选择框进行能够被选择框响应的选择操作。
19.如权利要求18所述的装置,若所述选择框为单选框,所述测试单元将所述选择框进行能够被选择框响应的选择操作时,具体为:
将单选框中的元素进行点击操作,任意一元素被点击后,所述单选框中不能够同时存在两个以上已经被选择的元素。
20.如权利要求18所述的装置,若所述选择框为复选框,所述测试单元将所述选择框进行能够被选择框响应的选择操作时,具体为:
将所述选择框中的元素进行点击操作,任意一元素被点击后,所述选择框中能够同时存在两个以上已经被选择的元素。
21.如权利要求18所述的装置,所述测试单元根据对应的属性将所述每一个控件进行测试时,具体为:
若控件的类别为地图,将所述地图进行能够被地图响应的点击、拖拽、缩小和放大中的至少一种操作。
22.如权利要求13-21任一项所述的装置,所述装置还包括监控单元,用于监控所述待测应用程序的测试进程是否存在;
所述测试单元还用于,在所述监控单元监控到所述待测应用程序的测试进程不存在时,停止测试;在所述监控单元监控到所述待测应用程序的测试进程存在时,继续测试。
23.如权利要求22所述的装置,所述监控单元还用于,监控所述待测应用程序所处设备的性能指标。
24.如权利要求23所述的装置,所述性能指标为所述待测应用对所述设备的内存的占有率、对中央处理器CPU的占有率和对磁盘的占有率中的至少一种。
25.一种遍历测试的装置,包括:
一个或者多个处理器;
存储器;
存储在所述存储器中的程序,当被所述一个或者多个处理器执行时,所述程序使所述处理器执行如权利要求1-12中任意一项所述的方法。
26.一种计算机可读存储介质,所述计算机可读存储介质存储有程序,当所述程序被处理器执行时,使得所述处理器执行如权利要求1-12中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710619815.1A CN107368418B (zh) | 2017-07-26 | 2017-07-26 | 一种遍历测试的方法、装置和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710619815.1A CN107368418B (zh) | 2017-07-26 | 2017-07-26 | 一种遍历测试的方法、装置和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107368418A CN107368418A (zh) | 2017-11-21 |
CN107368418B true CN107368418B (zh) | 2020-12-04 |
Family
ID=60307258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710619815.1A Active CN107368418B (zh) | 2017-07-26 | 2017-07-26 | 一种遍历测试的方法、装置和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107368418B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109144864B (zh) * | 2018-08-13 | 2022-09-06 | 北京百度网讯科技有限公司 | 用于测试窗口的方法及装置 |
CN109840202A (zh) * | 2018-12-15 | 2019-06-04 | 深圳壹账通智能科技有限公司 | 应用程序控件检测方法、装置、电子设备及存储介质 |
CN109731339B (zh) * | 2018-12-17 | 2022-04-12 | 福建天晴数码有限公司 | 检测外挂的方法、存储介质 |
CN109902004B (zh) * | 2019-02-18 | 2022-09-30 | 深圳壹账通智能科技有限公司 | 一种应用程序链接渠道的测试方法及装置 |
CN113032264A (zh) * | 2021-03-29 | 2021-06-25 | 网易(杭州)网络有限公司 | 页面视图控件的检测方法及装置 |
CN113448868B (zh) * | 2021-07-16 | 2022-11-01 | 网易(杭州)网络有限公司 | 一种游戏软件兼容性测试方法、装置、设备及介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6766475B2 (en) * | 2001-01-04 | 2004-07-20 | International Business Machines Corporation | Method and apparatus for exercising an unknown program with a graphical user interface |
US8312413B2 (en) * | 2010-01-22 | 2012-11-13 | International Business Machines Corporation | Navigating analytical tools using layout software |
CN106598836A (zh) * | 2015-10-20 | 2017-04-26 | 阿里巴巴集团控股有限公司 | 一种客户端软件的测试方法及系统 |
CN106649103B (zh) * | 2016-11-25 | 2019-04-16 | 深圳大学 | 一种安卓应用程序自动化黑盒测试的方法及系统 |
-
2017
- 2017-07-26 CN CN201710619815.1A patent/CN107368418B/zh active Active
Non-Patent Citations (1)
Title |
---|
基于AutoIt的软件动态部署;郭小伟;《中国优秀硕士学位论文全文数据库 信息科技辑》;20141115;第I138-135页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107368418A (zh) | 2017-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107368418B (zh) | 一种遍历测试的方法、装置和介质 | |
CN107506300B (zh) | 一种用户界面测试方法、装置、服务器和存储介质 | |
US9075918B1 (en) | System and method for creating change-resilient scripts | |
US11507677B2 (en) | Image classification modeling while maintaining data privacy compliance | |
US8806648B2 (en) | Automatic classification of security vulnerabilities in computer software applications | |
US20150242380A1 (en) | Checking testing coverage | |
US9678859B2 (en) | Detecting error states when interacting with web applications | |
US8752023B2 (en) | System, method and program product for executing a debugger | |
US20150169430A1 (en) | Selecting webpage test paths | |
CN111125555B (zh) | 企业信息获取方法以及装置 | |
US9519789B2 (en) | Identifying security vulnerabilities related to inter-process communications | |
US10296311B2 (en) | Finding uninitialized variables outside the local scope | |
US20160171104A1 (en) | Detecting multistep operations when interacting with web applications | |
US20170212752A1 (en) | Automatically detecting feature mismatches between mobile application versions on different platforms | |
US9454457B1 (en) | Software test apparatus, software test method and computer readable medium thereof | |
US9037994B2 (en) | Navigation to a data definition in a diff context | |
KR20130097252A (ko) | 소스 코드 분석에 의한 응용 프로그램 분석을 위한 방법 및 장치 | |
CN110597704B (zh) | 应用程序的压力测试方法、装置、服务器和介质 | |
US10108525B2 (en) | Optimizing automated interactions with web applications | |
US9959196B2 (en) | Unification of descriptive programming and object repository | |
US9390177B2 (en) | Optimizing web crawling through web page pruning | |
US20130111449A1 (en) | Static analysis with input reduction | |
US9830253B2 (en) | Eliminating redundant interactions when testing computer software applications | |
US8898589B2 (en) | Flattening a subset of configuration user interface (UI) panels in a hierarchy of UI panels | |
CN113626301A (zh) | 生成测试脚本的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |