安卓手机自动化测试方法和系统与流程

文档序号:12464155阅读:607来源:国知局
安卓手机自动化测试方法和系统与流程

本发明涉及手机测试技术领域,特别涉及一种安卓手机自动化测试方法和系统。



背景技术:

软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,还需要跟踪故障,以确保开发的产品适合需求。手机软件测试是对手机产品的质量进行测试、验证,检查手机的软件有没有错误、判断手机软件是否具有稳定性,软件测试人员还要编写出相应的测试规范和测试用例的专门工作人员。

现有的手机软件测试中,一般采用人工手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。但是在手机测试中需要大量模拟手机用户的操作,以验证手机是否能够正常工作,使用得到预期的使用效果,如果仅仅依靠人工测试,则面临着测试工作量大,效率低下,资源需求较多的问题。现在的手机软件程序测试系统存在以下几个问题:

1、服务器解析命令转化为测试脚本,脚本与要测试的应用程序相关联,不同的应用程序对应不同的测试脚本,通用性不强;

2、测试脚本提前预设编写完成,无法应对预设之外的测试场景,不具备良好的扩展性。

3、测试脚本只对应单一机型的一种状态,在更换机型或改变手机的模拟状态时,无法进行测试,在测试完成后,没有测试结果反馈,测试人员无法及时知晓手机软件的测试情况,效率比较差。



技术实现要素:

针对现有的手机软件测试系统存在的通用性不强、不具备良好的扩展性,测试工作效率低下的问题,提出一种基于安卓系统的手机自动化测试方法和系统,通过在自动化手机测试系统设置自动测试模块,自动识别各个控件的属性以及ID,随时测试所有控件的所有功能,保证遍历所有的控件及其功能,智能判定下一步行为操作,具有很好扩展性;通过设置自动抓取模块从安卓系统底层显示驱动获取当前测试面,而不受机型的限制,具有很好的通用性;通过设置修改模块修改安卓手机的配置文件来改变机型来评估不同机型安卓手机程序的测试效果以及改变手机功能模拟不同的测试场景,进而来评估不同测试场景安卓手机程序的应用效果。

一种安卓手机自动化测试方法,包括:

将自动化测试系统安装在PC机上,并通过连接装置与要测试的安卓手机批量连接;

所述自动化测试系统中的数据获取模块获取要测试的安卓手机程序的程序数据,将程序数据以列表的形式存储在自动化测试系统中

所述自动化测试系统中的自动测试模块从自动化测试系统获取测试需要的数据,并对安卓手机程序进行测试

所述自动化测试系统中的自动抓取模块抓取用于评估测试效果使用的测试显示页面

所述自动化测试系统的修改模块通过配置参数模拟不同手机状态的测试场景对所述安卓手机程序进行测试;

测试完成后,所述自动化测试系统将测试结果显示所述PC机屏幕上供测试人员评估。

根本本发明的一种安卓手机自动化测试方法,程序数据包括要测试的安卓手机程序的账号、密码以及测试控件所需要的数据。

根本本发明所述的一种安卓手机自动化测试方法,所述自动化测试系统中的自动测试模块从所述自动化测试系统获取每一步测试所述需要的数据,并对安卓手机程序进行测试,包括:

所述自动测试模块自动识别被测试安卓手机程序的所有控件id以及控件属性,使自动化测试按照预设的路径进行测试;

所述自动测试模块自动测试遍历所有控件的操作功能。

根本本发明所述的一种安卓手机自动化测试方法,所述控件属性包括控件的名称、大小以及颜色。

根本本发明所述的一种安卓手机自动化测试方法,所述操作功能包括控件滑动、点击以及输入。

根本本发明所述的一种安卓手机自动化测试方法,所述自动化测试系统中的自动抓取模块抓取用于评估测试效果的每一步测试显示页面,包括:

所述自动抓取模块从安卓操作系统显示驱动层抓取当前测试页面;

所述自动化测试系统中的压缩模块将所述当前测试页面进行压缩,并被压缩后的当前测试页面传输到PC机;

所述自动化测试系统的转换模块将被压缩后的当前测试页面进行格式转换后显示PC机屏幕上。

根本本发明所述的一种安卓手机自动化测试方法,所述自动化测试系统模拟不同手机状态的测试场景所述安卓手机程序进行测试,包括:

所述自动化测试系统中的修改模块通过修改手机配置参数来获取不同机型或手机所处不同位置的测试场景,并对不同机型或不同位置中的测试场景中的所述安卓手机程序进行测试;

通过对被测试手机中的蓝牙或WiFi进行操作来获取不同网络环境的测试场景,并对不同网络环境的测试场景中安卓手机程序进行测试。

另一方面,提出一种安卓手机自动化测试系统,包括:

数据获取模块:分别与被测试安卓手机和自动测试模块连接,用于获取所述被测试安卓手机程序的程序数据;

自动测试模块:分别与所述数据获取模块以及PC机连接,用于在测试过程中将程序数据导入到被测试安卓手机程序,测试结束时将测试结果显示在所述PC机屏幕上;

自动抓取模块:分别与被测试安卓手机以及压缩模块连接,用于从被测试安卓手机安卓系统的驱动层抓取当前被测试页面,并将抓取的测试页面传输到压缩模块进行压缩;

自动修改模块:与被测试安卓手机连接,用于修改手机配置文件来获取不同的测试场景;

压缩模块:分别与抓取模块以及转换模块连接,用于对抓取模块抓取的测试页面进行压缩,以便传输到PC机;

转换模块:分别与压缩模块以及PC机连接,用于转换压缩后的测试页面格式,以便显示在PC机屏幕上。

根本本发明所述的一种安卓手机自动化测试系统,所述安卓手机自动化测试系统还包括被测试的不同机型的安卓手机、用于显示测试结果的PC机以及用于实现安卓手机与PC机进行通信的连接装置。

实施本发明提出的安卓手机自动化测试方法和系统,首先将安卓手机自动化测试系统安装在PC机上,自动化测试系统中的数据获取模块获取安卓手机的要测试手机程序的各种数据,在测试过程中需要时将这些数据导入到自动测试模块,自动测试模块按照预先设定的路径对安卓手机应用程序进行测试,自动识别各个控件的属性以及id,随时测试所有控件的所有功能,保证遍历所有的控件及其功能,智能判定下一步行为操作,具有很好的扩展性;自动抓取模块用于抓取在测试过程中需要的测试页面,这有利于在测试完成后对测试结果进行评估,而不同手动抓取测试页面,而且在抓取页面的过程中,是从安卓系统底层显示驱动获取当前测试面,而不受机型的限制,具有很好的通用性;修改模块一方面,通过修改安卓手机的配置文件来改变机型来评估不同机型安卓手机程序的测试效果,另一方面,对手机的功能设置进行修改,来模拟不同的测试场景,进而来评估不同测试场景安卓手机程序的应用效果。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明中一种安卓手机自动化测试方法实施例的流程示意图;

图2是本发明中一种安卓手机自动化测试方法实施例中步骤S3的子步骤流程示意图;

图3是本发明中一种安卓手机自动化测试方法实施例中步骤S4的子步骤流程示意图;

图4是本发明中一种安卓手机自动化测试方法实施例中步骤S5的子步骤流程示意图;

图5是本发明中一种安卓手机自动化测试系统实施例的组成连接示意图。

具体实施方式

现有的手机软件测试中,一般采用人工手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。但是在手机测试中需要大量模拟手机用户的操作,以验证手机是否能够正常工作,使用得到预期的使用效果,如果仅仅依靠人工测试,则面临着测试工作量大,效率低下,资源需求较多的问题。现在的手机软件程序测试系统存在以下几个问题:服务器解析命令转化为测试脚本,脚本与要测试的应用程序相关联,不同的应用程序对应不同的测试脚本,通用性不强;测试脚本提前预设编写完成,无法应对预设之外的测试场景,不具备良好的扩展性;测试脚本只对应单一机型的一种状态,在更换机型或改变手机的模拟状态时,无法进行测试,在测试完成后,没有测试结果反馈,测试人员无法及时知晓手机软件的测试情况,效率比较差。

本发明要解决的问题是:现有的手机软件测试系统存在的通用性不强、不具备良好的扩展性,测试工作效率低下。

本发明提出的技术方案是:提出一种基于安卓系统的手机自动化测试方法和系统,一种安卓手机自动化测试系统包括:用户获取安卓手机应用程序数据的数据获取模块110、用于对安卓手机应用程序测试的自动测试模块120、用于对传输到PC机190的自动抓取模块160自动抓取的测试页面进行转换的转换模块140、用于对自动抓取模块160自动抓取的测试页面进行压缩的压缩模块150、用于对安卓手机应用程序测试过程的需要抓取的测试页面进行抓取的自动抓取模块160、批量安卓安卓手机以及用于安卓手机配置参数进行修改的修改模块180;数据获取模块110获取安卓手机的要测试手机程序的各种数据,在测试过程中需要时将这些数据导入到自动测试模块120,自动测试模块120按照预先设定的路径对安卓手机应用程序进行测试,自动识别各个控件的属性以及ID,随时测试所有控件的所有功能,保证遍历所有的控件及其功能,智能判定下一步行为操作,具有很好的扩展性;自动抓取模块160用于抓取在测试过程中需要的测试页面,这有利于在测试完成后对测试结果进行评估,而不同手动抓取测试页面,而且在抓取页面的过程中,是从安卓系统底层显示驱动获取当前测试面,而不受机型的限制,具有很好的通用性;修改模块180具有两个方面的作用:1、通过修改安卓手机的配置文件来改变机型来评估不同机型安卓手机程序的测试效果;2、对手机的功能设置进行修改,来模拟不同的测试场景,进而来评估不同测试场景安卓手机程序的应用效果。

下面将结合附图对本发明进行说明。

一、方法实施例

图1是本发明中一种安卓手机自动化测试方法实施例的流程示意图,请参考图1,一种安卓手机自动化测试方法,包括:

S1、将自动化测试系统安装在PC机190上,并通过连接装置130与要测试的安卓手机批量连接。

本发明中的自动化测试系统是安装在PC机190上,通过连接装置130与安卓手机连接,在测试时,安卓手机是批量连接的,可以是同一手机型号的多个手机,也可以是不同手机型号的多个手机与PC机190连接,本发明中的自动化手机测试系统通过与手机批量连接来实现对不同型号的多个安卓手机的同一安卓手机程序进行测试,一方面,批量测试不同型号的安卓手机提高了测试的工作效率,另一方面,也可以通过批量测试来评估同一测试安卓手机程序在不同机型的测试效果。

连接装置130用于连接PC机190与被测试安卓手机,实现PC机190与被测试安卓手机之间的数据通信,通过连接装置130,将被自动抓取模块160随机抓取的测试页面进行压缩,并传输到PC机190进行转换、显示;连接装置130实现了通过操作PC机190就可以对被测试安卓手机程序进行测试方面的操作、例如抓取图片、修改手机配置参数等

S2、自动化测试系统中的数据获取模块110获取要测试的安卓手机程序的程序数据,将程序数据以列表的形式存储在自动化测试系统中。

数据获取模块110主要是用于在对要测试的安卓手机程序进行数据提取,因为在测试时自动化测试系统要识别所有控件的id以及属性,属性包括控件的大小、名称、颜色等等,使测试按照预先设定的路劲进行测试,测试所有控件功能,在测试功能或读取控件属性时或进入设定的路径时有时候需要输入相应的数据,例如安卓手机应用程序的账号、密码,控件需要显示的数据或者某一子空间的数量等等。只有正确获取了安卓手机程序的账号、密码,自动化测试系统才能够进安卓手机程序开始测试。不同手机的被测试安卓手机程序的数据是不一样,因为不同的被测试安卓手机程序对应的用户操作和缓存不一样,数据获取模块110在获取被测试安卓手机程序的数据后,以列表的形式存储在自动化测试系统中,分别对应每一被测试安卓手机。测试开始后,按照需求顺序依次导入获取的安卓手机程序,保证测试顺利进行。

S3、自动化测试系统中的自动测试模块120从自动化测试系统获取测试需要的数据,并对安卓手机程序进行测试。

图2是本发明中一种安卓手机自动化测试方法实施例中步骤S3的子步骤流程示意图,请参考图2,步骤S3包括:S31、自动测试模块120自动识别被测试安卓手机程序的所有控件id以及控件属性,使自动化测试按照预设的路径进行测试。S32、自动测试模块120自动测试遍历每一控件的所有操作功能。

在自动化测试前,自动测试模块120从自动化测试系统中获取测试所需要的数据,例如首先获取被测试安卓手机程序的账号和密码,进入安卓手机程序;在测试的过程中,每一步需要的数据从存储在自动化测试系统对应的数据列表获取需要的数据。自动测试模块120用于完成安卓手机程序的测试工作:1、首先识别安卓手机程序的控件属性、id等,控件属性主要是控件的颜色、大小以及名称等;2、测试所有控件的所有功能,例如控件的滑动、点击以及输入等功能。自动识别模块能够智能判定下一步行为操作,例如,某一控件包括有很多子控件,子控件又对应许多下一级子控件,或一个控件对应有很多功能,自动测试模块120按照预定的路径逐级测试子控件或逐项测试功能,例如先测试控件的滑动功能,接着测试点击功能,最后测试输入功能,通过智能判定下一步行为操作,使得自动化测试系统具有良好的扩展性。

S4、自动化测试系统中的自动抓取模块160抓取用于评估测试效果使用的测试显示页面。

图3是本发明中一种安卓手机自动化测试方法实施例中步骤S4的子步骤流程示意图,请参考图3,S41、自动抓取模块160从安卓操作系统显示驱动层抓取当前测试页面。S42、自动化测试系统中的压缩模块150将当前测试页面进行压缩,并被压缩后的当前测试页面传输到PC机190。S43、自动化测试系统的转换模块140将被压缩后的当前测试页面进行格式转换后显示PC机190屏幕上。

本发明中自动化测试系统中的测试用例与手机页面场景元素相关,与单个应用无关,满足不同安卓手机程序的相同行为测试,要做到这一点,本发明自动化测试系统中的自动抓取模块160从手机安卓系统的底层显示驱动中获取当前测试页面数据,这与手机的型号没有关系,具有很强的通用性。现有的手机测试系统获取的测试页面与用户在被测试安卓手机中的位置有关系,而且与安卓手机的型号有关系,也就是说即使更换手机型号或手机应用场景,自动化系统中的测试用例并不需要改变,提高了自动化测试系统的通用性,

S5、自动化测试系统的修改模块180通过配置参数模拟不同手机状态的测试场景对安卓手机程序进行测试。图4是本发明中一种安卓手机自动化测试方法实施例中步骤S5的子步骤流程示意图,请参考图4,S51、自动化测试系统中的修改模块180通过修改手机配置参数来获取不同机型或手机所处不同位置的测试场景,并对不同机型或不同位置中的测试场景中的安卓手机程序进行测试。S52、通过对被测试手机中的蓝牙或WiFi进行操作来获取不同网络环境的测试场景,并对不同网络环境的测试场景中安卓手机程序进行测试。

修改模块180通过修改手机的配置参数来改变手机型号或改变安卓手机的使用位置。1、改变安卓手机型号:a.修改安卓手机的出厂编号;b.修改安卓手机的手机卡序列号;c.修改安卓手机的安卓id以及mac;d.改变手机的蓝牙mac或名称,改变WiFi的mac或名称。2、改变手机的使用位置:手机的位置是通过GPS、手机移动通信运营商基站以及手机的WiFi mac来决定的,修改模块180通过修改配置文件中的GPS或手机移动通信运营商基站或手机的WiFi mac参数来达到模拟安卓手机改变使用位置场景的目的。另外,还可以通过操作手机来模拟手机网络状态改变的场景,例关闭或打开安卓手机的WiFi或蓝牙。通过以上手段来达到模拟改变被测试安卓手机的型号、使用位置以及网络状态被改变的场景,本发明中的自动化测试系统能高效完成不同场景下同一安卓手机程序的测试,提高了工作效率。

S6、测试完成后,自动化测试系统将测试结果显示PC机190屏幕上供测试人员评估。

测试完成后,自动化测试系统对测试结果进行汇总,生成一个测试结果列表并显示在PC机190屏幕上,测试结果列表中的参数包括测试的安卓手机程序名称,被测试的手机型号,手机IP,手机的网络状态。

根本本发明的一种安卓手机自动化测试方法,程序数据包括要测试的安卓手机程序的账号、密码以及测试控件所需要的数据。

根本本发明的一种安卓手机自动化测试方法,控件属性包括控件的名称、大小以及颜色。

根本本发明的一种安卓手机自动化测试方法,操作功能包括控件滑动、点击以及输入。

另一方面,提出一种安卓手机自动化测试系统,包括:

数据获取模块110:分别与被测试安卓手机和自动测试模块120连接,用于获取被测试安卓手机程序的程序数据;

自动测试模块120:分别与数据获取模块110以及PC机190连接,用于在测试过程中将程序数据导入到被测试安卓手机程序,测试结束时将测试结果显示在PC机190屏幕上;

自动抓取模块160:分别与被测试安卓手机以及压缩模块150连接,用于从被测试安卓手机安卓系统的驱动层抓取当前被测试页面,并将抓取的测试页面传输到压缩模块150进行压缩;

自动修改模块180:与被测试安卓手机连接,用于修改手机配置文件来获取不同的测试场景;

压缩模块150:分别与抓取模块以及转换模块140连接,用于对抓取模块抓取的测试页面进行压缩,以便传输到PC机190;

转换模块140:分别与压缩模块150以及PC机190连接,用于转换压缩后的测试页面格式,以便显示在PC机190屏幕上。

根本本发明所述的一种安卓手机自动化测试系统,所述安卓手机自动化测试系统还包括被测试的不同机型的安卓手机、用于显示测试结果的PC机190以及用于实现安卓手机与PC机190进行通信的连接装置130。

实施本发明提出的安卓手机自动化测试方法和系统,首先将安卓手机自动化测试系统安装在PC机190上,自动化测试系统中的数据获取模块110获取安卓手机的要测试手机程序的各种数据,在测试过程中需要时将这些数据导入到自动测试模块120,自动测试模块120按照预先设定的路径对安卓手机应用程序进行测试,自动识别各个控件的属性以及ID,随时测试所有控件的所有功能,保证遍历所有的控件及其功能,智能判定下一步行为操作,具有很好的扩展性;自动抓取模块160用于抓取在测试过程中需要的测试页面,这有利于在测试完成后对测试结果进行评估,而不同手动抓取测试页面,而且在抓取页面的过程中,是从安卓系统底层显示驱动获取当前测试面,而不受机型的限制,具有很好的通用性;修改模块180一方面,通过修改安卓手机的配置文件来改变机型来评估不同机型安卓手机程序的测试效果,另一方面,对手机的功能设置进行修改,来模拟不同的测试场景,进而来评估不同测试场景安卓手机程序的应用效果。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1