专利名称:实现终端自动化测试的方法及终端的制作方法
技术领域:
本发明涉及移动通信领域,特别涉及一种实现终端自动化测试的方法及终端。
背景技术:
近年来,无线终端技术发展日新月异,产品型号越来越丰富,功能越来越复杂,市场推出频率越来越快。为了降低测试成本、缩短测试周期,各手机开发商正把目光投向自动化测试,但是在功能/性能的自动化测试方面中面临着如何灵活快速生成自动化测试脚本。
手机自动化测试中通常使用模拟键盘或机械设备(如智能机器手)的方式操作手机,执行测试用例。其中,大部分的测试用例需要编辑测试数据(包括文本、图片等),如短消息、测试中编辑短信内容(文本数据),电话本测试中需要编辑联系人姓名、电话号码(文本数据),彩信和Email测试中写入文本内容(文本数据)、插入图片(图片数据)等等。实际测试中发现,编辑测试数据很耗时、不灵活,而且测试数据容易出错。在手机上市时间的巨大压力下,测试人员很难有充足的时间和精力灵活设计测试用例,最终必然会留下大的质量隐患。
另外一种手机功能/性能测试的方法,是使用模拟按键控制输入法拼写文本,采用此种方法,由于操作界面下不同的输入法类型、输入法状态和按键延时的关系,相同的模拟按键可能会得到不同的测试文本,测试结果的准确性无法得到保证;而且由手机的输入法自动根据模拟按键一个一个的生成测试文本,费时较长。
目前还有一种手机功能/性能测试的方法,控制手机用户界面,插入手机自带的测试数据,采用此种方法,依赖于手机本身自带的测试数据,由于各厂家、不同型号的手机中自带的测试数据往往不同,而且还有可能被修改,这样,对于相同的测试用例,其指令的执行结果往往不同,从而无法移植测试用例,且测试结果不准确。
发明内容
本发明实施例的目的在于提供一种实现终端自动化测试的方法及终端,测试用例移植方便可靠,提高手机功能/性能测试的效率和准确性。
本发明实施例提供一种实现终端自动化测试的方法,包括如下步骤接收按键控制命令;根据所述按键控制命令,切换到相应的界面,定位输入初始位置;接收写入命令,所述写入命令携带测试数据;从所述输入初始位置处写入所述测试数据。
本发明实施例还提供一种终端,包括接收单元,用于接收按键控制命令和写入命令,所述写入命令携带测试数据;切换单元,用于根据所述按键控制命令,切换到相应的界面,定位输入初始位置;写入单元,用于根据所述写入命令,从所述输入初始位置处写入所述测试数据。
本发明实施例提供的实现终端自动化测试的方法及终端,根据按键控制命令,自动切换界面和定位输入初始位置,而且写入命令中携带测试数据,测试数据不再依赖于输入法,无论终端处于何种输入法之下,写入的测试数据都一致;也与终端的自身设置无关,无论终端自带的测试数据如何,最终写入的测试数据都相同,从而保证所有的测试终端的测试数据的一致性,提高测试的效率和准确性。
由于测试数据的一致性,相同的测试用例可以在不同的终端上移植,比较测试结果,实现相同的自动化测试,这样测试人员可以将精力关注在测试用例的开发上,而无需关注测试数据的稳定性,从而提高测试用例的质量,进一步提高终端的质量。
图1为本发明一实施例中实现终端自动化测试的方法的流程示意图;图2为本发明一实施例中终端的结构示意图。
具体实施例方式
实施例一,实现终端自动化测试的方法,本方法适用于手机、固定台和多媒体用户设备等通讯终端的自动化测试,适用但不限于功能/性能的测试。在本实施例中,本方法用于带键盘的手机,同理,带触摸屏的手机,或者测试操作平台上设置有键盘或触摸屏,而手机嵌入该操作平台进行测试的情况,本方法也适用。
在本实施例中,参见图1,本方法包括如下步骤101、操作系统接收按键控制命令;102、操作系统根据按键控制命令,切换到相应的用户界面下,定位输入初始位置,在本实施例中,将光标作为指示输入的标识,通过将光标移动到指定的位置实现输入初始位置的定位;103、操作系统接收写入命令,写入命令中携带测试数据;104、操作系统把测试数据从输入初始位置即光标处,写入编辑框。
根据按键控制命令,自动切换界面和定位光标,而且写入命令中携带测试数据,测试数据不再依赖于输入法,无论终端处于何种输入法之下,写入的测试数据都一致;也与终端的自身设置无关,无论终端自带的测试数据如何,最终写入的测试数据都相同,从而保证所有的测试终端的测试数据的一致性,提高测试的效率和准确性。
由于测试数据的一致性,相同的测试用例可以在不同的终端上移植,比较测试结果,实现相同的自动化测试,这样测试人员可以将精力关注在测试用例的开发上,而无需关注测试数据的稳定性,从而提高测试用例的质量,进一步提高终端的质量。
上述测试数据采用终端编辑框支持的格式,例如手机的短信编辑使用纯文本,网页遵循浏览器定义的格式,而对于操作系统而言,采用透传方式将测试数据写入编辑框中。
步骤101有以下多种实现方式设置带有键盘或触摸屏的测试操作平台,将手机嵌入该操作平台,测试人员通过测试操作平台的键盘或触摸屏就可以进行手机的相应按键操作。那么,测试操作平台的键盘被按下或测试操作平台的触摸屏被触摸后,测试操作平台的键盘或触摸屏将触发信息转换成相应的按键控制命令发送给手机的操作系统。
带有键盘或触摸屏的手机,当手机的键盘被按下或触摸屏被触摸后,键盘或触摸屏将触发信息转换成相应的按键控制命令发送给操作系统。
手机通过串口、USB口或蓝牙等手机通讯接口与计算机进行通信,计算机下发手机的模拟按键命令,模拟按键命令转换成相应的按键控制命令后,发送给手机的操作系统。将模拟按键命令转换成相应的按键控制命令的功能,可以由计算机实现,也可以由手机内的软件或硬件模块进行实现。
可以根据具体的测试环境,选择不同的按键控制命令的输入方式,使得终端的自动化测试更加的灵活而实用,从而在各种测试环境下都可以快速准备地得到测试结果。
步骤103包括以下步骤当终端支持剪贴板时,操作系统接收写入命令,将写入命令中携带的测试数据提取到剪贴板;操作系统向对应的应用程序发送粘贴消息;应用程序根据粘贴消息,提取出剪贴板中的测试数据;在编辑框的光标处写入测试数据。
当终端不支持剪贴板时,操作系统接收写入命令后,将写入命令转发给对应的应用程序;应用程序提取出写入命令中携带的测试数据;在编辑框的光标处写入测试数据。
步骤104可以分别采用以下两种方式实现当测试数据为字符时,从光标原始位置处,即输入初始位置处,写入测试数据,光标移动到最后字符的下一位。
当测试数据为图片时,从光标原始位置处,即输入初始位置处,写入测试数据,光标移动到最后图片的下一位。
测试数据可以由计算机下发,也可以来自其他具有编辑测试数据和测试用例功能的终端。由计算机或者其他终端在写入命令中携带测试数据下发给测试终端。
由于目前的通讯终端集成的功能越来越多,除了传统的短消息、电话本等,彩信、Email等功能也再不断的加入,本实施例中的测试数据不仅限于传统的字符,还包括图片、音频以及视频数据等,适用于通讯终端功能升级的测试需要,提高了终端自动化测试的应用范围。
对于测试的结果需要进行处理和判断,因此计算机或者其他终端向测试终端发送上传命令,将测试结果与原始的测试数据进行比较,从而对终端的功能/性能是否符合要求进行判断。
上传的步骤具体包括如果终端支持剪贴板,则应用程序读取编辑框内当前的测试数据作为测试结果,存储到剪贴板中;操作系统读取剪贴板中的测试结果作为命令参数,将响应命令通过手机通讯接口上传给计算机或其他终端。
如果终端不支持剪贴板,则应用程序读取编辑框内的测试数据作为测试结果,发送给操作系统;操作系统将测试结果作为命令参数,将响应命令通过手机通讯接口上传给计算机或其他终端。
实施例二,对于实施例一中的实现终端自动化测试的方法,本实施例提供一种终端,该终端可以包括但不限于手机、固定台和多媒体用户设备等通讯终端。
参见图2,该终端包括接收单元1,用于接收按键控制命令和写入命令,写入命令携带测试数据;切换单元2,用于根据按键控制命令,切换到相应的界面,定位输入初始位置;写入单元3,用于根据写入命令,从输入初始位置处写入所述测试数据。
接收单元1包括若干接口子单元11...1n,用于接收触发信息或模拟按键命令,以及写入命令;转换子单元12,用于将各接口子单元接收的触发信息或模拟按键命令转换成相应的按键控制命令;发送子单元13,用于发送按键控制命令和写入命令。
还包括上传单元14,接收单元还用于接收上传命令,所述上传单元用于将测试结果作为命令参数响应所述上传命令。
本领域的技术人员可以理解,终端中的上述的各个单元可以通过软件、硬件或两者组合的方法来提供,尽管上述的各个部件在图中是作为离散单元给出的,但实际上,它们可以由包含输入和输出端口并运行软件代码的微处理器,或者由定制或混合的芯片,或者由离散部件,或者由上述的组合来实施。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括如下步骤接收按键控制命令;根据所述按键控制命令,切换到相应的界面,定位输入初始位置;接收写入命令,所述写入命令携带测试数据;从所述输入初始位置处写入所述测试数据,所述的存储介质,如ROM/RAM、磁碟、光盘等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种实现终端自动化测试的方法,其特征在于,包括如下步骤接收按键控制命令;根据所述按键控制命令,切换到相应的界面,定位输入初始位置;接收写入命令,所述写入命令携带测试数据;从所述输入初始位置处写入所述测试数据。
2.根据权利要求1所述的方法,其特征在于,所述接收按键控制命令的步骤包括键盘或触摸屏接收触发信息生成相应的按键控制命令;操作系统接收所述按键控制命令;或者,接收模拟按键命令,转换成相应的按键控制命令;操作系统接收所述按键控制命令。
3.根据权利要求1所述的方法,其特征在于,所述根据所述按键控制命令,切换到相应的界面,定位输入初始位置的步骤包括操作系统根据所述按键控制命令,调用所需测试的应用程序;所述操作系统将用户界面切换到所述应用程序的编辑框;所述操作系统将输入初始位置定位在所述编辑框中的指定位置。
4.根据权利要求1所述的方法,其特征在于,所述接收写入命令,所述写入命令携带测试数据的步骤包括操作系统接收写入命令,将所述写入命令中携带的测试数据提取到剪贴板;所述操作系统向对应的应用程序发送粘贴消息;所述应用程序根据所述粘贴消息,提取出所述剪贴板中的测试数据;或者,操作系统将写入命令转发给对应的应用程序;所述应用程序提取出所述写入命令中携带的测试数据。
5.根据权利要求1所述的方法,其特征在于,所述从所述输入初始位置处写入所述测试数据的步骤包括当所述测试数据为字符时,从所述输入初始位置处写入所述测试内容,指示输入的标识移动到最后字符的下一位;或者,当所述测试数据为图片时,从所述输入初始位置处写入所述测试内容,指示输入的标识移动到最后图片的下一位。
6.根据权利要求1所述的方法,其特征在于,还包括如下步骤接收上传命令;将测试结果作为命令参数响应所述上传命令。
7.根据权利要求6所述的方法,其特征在于,所述将测试结果作为命令参数响应所述上传命令的步骤包括应用程序读取编辑框内的测试数据作为测试结果,发送给操作系统;所述操作系统将所述测试结果作为命令参数响应所述上传命令;或者应用程序读取编辑框内的测试数据作为测试结果,存储到剪贴板中;操作系统读取所述剪贴板中的测试结果作为命令参数响应所述上传命令。
8.一种终端,其特征在于,包括接收单元,用于接收按键控制命令和写入命令,所述写入命令携带测试数据;切换单元,用于根据所述按键控制命令,切换到相应的界面,定位输入初始位置;写入单元,用于根据所述写入命令,从所述输入初始位置处写入所述测试数据。
9.根据权利要求8所述的终端,其特征在于,所述接收单元包括若干接口子单元,用于接收触发信息或模拟按键命令,以及写入命令;转换子单元,用于将各接口子单元接收的触发信息或模拟按键命令转换成相应的按键控制命令;发送子单元,用于发送按键控制命令和写入命令。
10.根据权利要求8所述的终端,其特征在于,还包括上传单元,所述接收单元还用于接收上传命令,所述上传单元用于将测试结果作为命令参数响应所述上传命令。
全文摘要
本发明提供一种实现终端自动化测试的方法及终端,该方法包括如下步骤接收按键控制命令;根据所述按键控制命令,切换到相应的界面,定位输入初始位置;接收写入命令,所述写入命令携带测试数据;从所述输入初始位置处写入所述测试数据。根据按键控制命令,自动切换界面和定位输入初始位置,而且写入命令中携带测试数据,测试数据不再依赖于输入法,无论终端处于何种输入法之下,写入的测试数据都一致;也与终端的自身设置无关,无论终端自带的测试数据如何,最终写入的测试数据都相同,从而保证所有的测试终端的测试数据的一致性,提高测试的效率和准确性。
文档编号H04W24/06GK101076175SQ20071011244
公开日2007年11月21日 申请日期2007年6月26日 优先权日2007年6月26日
发明者黄小勇, 易正福, 汤云山 申请人:华为技术有限公司