CN102314386B - 一种测试移动终端的方法与设备 - Google Patents
一种测试移动终端的方法与设备 Download PDFInfo
- Publication number
- CN102314386B CN102314386B CN201110260755.1A CN201110260755A CN102314386B CN 102314386 B CN102314386 B CN 102314386B CN 201110260755 A CN201110260755 A CN 201110260755A CN 102314386 B CN102314386 B CN 102314386B
- Authority
- CN
- China
- Prior art keywords
- test
- mobile terminal
- execution script
- test execution
- script
- 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
- Telephone Function (AREA)
- Debugging And Monitoring (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明的目的是提供一种测试移动终端的方法与设备,其中,测试设备通过生成测试执行脚本、获取测试执行脚本,对所述移动终端进行测试操作,以获取所述移动终端上显示的与该测试操作相对应的实际操作结果图像,进而将所述实际操作结果图像与其所对应的期望结果图像进行比较分析,以获取测试结果。与现有技术相比,本发明通过记录机械装置对移动终端的操作过程以生成并获取测试执行脚本等方式,对所述移动终端直接进行测试操作以实现手机的自动化测试,从而在不需要人工参与的情况下达到和人工测试相同的效果,并且通过图像识别技术实现对多种机型的全面测试,极大地提高了测试的质量和效率,进而降低了测试成本。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种测试移动终端的技术。
背景技术
随着移动终端技术的迅速发展,新款移动终端的研发周期随之缩短,移动终端不断快速推陈出新,相应的新款产品的测试任务也就不断加大。但是,在现有技术中一般通过将移动终端连接到计算机的模拟器中进行半自动的测试,且主要仅针对单一机型进行测试,在测试过程中需要有大量重复性工作并需要较多的人工参与,因而测试的质量和效率受到限制,且测试成本过高。
因此,如何有效地实现移动终端的自动化测试,成为目前亟待解决的问题之一。
发明内容
本发明的目的是提供一种测试移动终端的方法与设备。
根据本发明的一个方面,提供了一种测试移动终端的方法,该方法包括以下步骤:
a获取测试执行脚本;
b根据所述测试执行脚本,对所述移动终端进行测试操作;
c获取所述移动终端上显示的与该测试操作相对应的实际操作结果图像;
其中,该方法还包括:
-通过记录机械装置对移动终端的操作过程,生成测试执行脚本
其中,该方法还包括:
X将所述实际操作结果图像与其所对应的期望结果图像进行比较分析,以获取测试结果。
根据本发明的另一方面,还提供了一种测试移动终端的设备,该设备包括:
脚本获取装置,用于获取测试执行脚本;
测试装置,用于根据所述测试执行脚本,对所述移动终端进行测试操作;
图像获取装置,用于获取所述移动终端上显示的与该测试操作相对应的实际操作结果图像;
其中,该设备还包括:
脚本生成装置,通过记录机械装置对移动终端的操作过程,生成测试执行脚本
其中,该设备还包括:
结果获取装置,用于将所述实际操作结果图像与其所对应的期望结果图像进行比较分析,以获取测试结果。
与现有技术相比,本发明通过记录机械手指对移动终端的操作过程以生成和获取测试执行脚本等方式,对所述移动终端直接进行测试操作以实现手机的自动化测试,从而在不需要人工参与的情况下达到和人工测试相同的效果,并且通过图像识别技术实现对多种机型的全面测试,极大地提高了测试的质量和效率,进而降低了测试成本。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出根据本发明一个方面测试移动终端的设备示意图;
图2示出根据本发明一个优选实施例的测试移动终端的设备示意图;
图3示出根据本发明另一个方面测试移动终端的方法流程图;
图4示出根据本发明一个优选实施例的测试移动终端的方法流程图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
图1示出根据本发明一个方面测试移动终端的设备示意图。测试设备1包括脚本获取装置11、测试装置12、图像获取装置13、脚本生成装置14和结果获取装置15。脚本生成装置14通过记录机械装置对移动终端的操作过程,生成测试执行脚本;脚本获取装置11获取测试执行脚本;测试装置12根据所述测试执行脚本,对所述移动终端进行测试操作;图像获取装置13获取所述移动终端上显示的与该测试操作相对应的实际操作结果图像;结果获取装置15将所述实际操作结果图像与其所对应的期望结果图像进行比较分析,以获取测试结果。在此,脚本指使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件,包括但不限于,JavaScript,VBScript,ActionScript,MAXScript,ASP,JSP,PHP等脚本。
在此,脚本生成装置14执行生成测试执行脚本的操作与脚本获取装置11执行获取测试执行脚本的操作并无严格的先后顺序关系,包括串行或并行方式,例如,在串行方式中,脚本生成装置14生成测试执行脚本后,脚本获取装置11再从脚本生成装置14中获取测试执行脚本;或者,在并行方式中,脚本生成装置14生成测试执行脚本的同时,脚本获取装置11从如第三方设备提供的数据库中获取测试执行脚本。为简便起见,下面仅以脚本生成装置14的执行在先、脚本获取装置11的执行在后的串行执行顺序为例进行阐述。本领域技术人员应能理解,以其他顺序执行的脚本生成装置14与脚本获取装置11也适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在此,图像获取装置13执行获取实际操作结果图像的操作与结果获取装置15执行获取测试结果的操作并无严格的先后顺序关系,包括串行或并行方式,例如,在串行方式中图像获取装置13获取全部实际操作结果图像后,结果获取装置15再将每一实际操作结果图像与其所对应的期望结果图像一一进行比较分析,以获取测试结果;或者,在并行方式中,图像获取装置13在获取下一张实际操作结果图像的同时,结果获取装置15对上一张实际操作结果图像与其所对应的期望结果图像进行比较分析,以获取测试结果。为简便起见,下面仅以图像获取装置13的执行在先、结果获取装置15的执行在后的串行执行顺序为例进行阐述。本领域技术人员应能理解,以其他顺序执行的图像获取装置13与结果获取装置15也适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
本领域技术人员还应能理解,图1中仅为简明起见而示出的脚本生成装置14先于脚本获取装置11、图像获取装置13先于结果获取装置15的执行顺序。
在此,所述移动终端包括但不限于:智能手机、个人数字助理(PDA)、便携式游戏机等,且所述移动终端的按键可以是任何一种物理按键或虚拟按键,包括但不限于QWERTY全键盘按键、普通手机键盘(keypad)按键、按字母顺序排列的全键盘按键,以及任何自定义布局的虚拟键盘按键。其中,所述智能手机包括符合以下条件的任何手机:具有独立的操作***,可以由用户自行安装软件、游戏等第三方服务商提供的程序,通过此类程序来不断对手机的功能进行扩充,并可以通过移动通讯网络来实现无线网络接入;所述个人数字助理(PDA)一种手持式电子设备,具有电子计算机的某些功能,可以用来管理个人信息,也可以上网浏览,收发电子邮件等;所述便携式游戏机是指方便携带的小型专门游戏机,可以随时随地转换视频游戏软件。
具体地,脚本生成装置14通过记录机械装置对移动终端的操作过程,生成测试执行脚本。具体地,脚本生成装置14通过记录机械装置对移动终端的操作过程,生成测试执行脚本的方式包括但不限于:1)脚本生成装置14记录机械装置中的机械手指对移动终端的操作过程,如操作中的执行动作、执行动作的坐标点、执行动作的顺序等,并据此生成测试执行脚本;2)脚本生成装置14通过拍照等方式,获取机械装置的机械手指对移动终端的操作过程的图像,并根据脚本生成装置14记录的机械手指在操作过程中的各操作所对应坐标点,利用图像识别技术,识别该等坐标点在该等图像中的预设区域范围内的具体按键内容,进而按照操作顺序生成测试执行脚本。在此,所述机械装置为通过如机械手指对移动终端进行操作的装置。在此,所述测试执行脚本用于记录诸如点击、悬停、滑动/旋转、等待、拍照等操作的执行过程;点击是在单个坐标点进行点击的操作;滑动包括两点或多点间的滑动,例如两点间滑动是在第一坐标点进行点击操作,接着保持按压操作滑动至第二坐标点解除按压操作;等待是基于时间进行的操作;拍照是触发图像获取装置13获取对当前移动终端的操作区域的图像。
例如,移动终端为触摸屏智能手机,对该智能手机进行操作的场景为:启动该手机的浏览器,并在地址栏中输入″www.sina.com″后回车,浏览器打开与该网址对应页面后,在该页面中进行拖拽,以实现页面滚动;脚本生成装置14通过机械手指对移动终端执行操作并记录该过程,首先记录该机械手指的操作起始点为坐标点(0,0),接着该机械手指移动到坐标点(120,80)并进行点击,脚本生成装置14记录该坐标点及其点击动作,随后该机械手指在悬停等待5秒,脚本生成装置14记录等待时间5秒,......,机械手指移动到坐标点(50,40)进行点击并保持按压操作滑动至坐标点(50,100)解除按压操作,脚本生成装置14记录这两个坐标点及滑动动作,脚本生成装置14基于其所记录的机械手指对该智能手机执行操作的全过程,生成测试执行脚本为:
又例如,移动设备为触屏式智能手机,对该智能手机进行操作的场景为:在该智能手机的文本编辑器中输入“helloworld”;机械装置的机械手指对触屏式智能手机执行操作,脚本生成装置14记录该操作过程,如在记录机械手指的起始点(0,0)后,第一步为该机械手指移动到坐标点(80,50)并进行点击,接着,脚本生成装置14在机械手指点击坐标点(80,50)的时间点上,触发图像获取装置13对触屏式智能手机的屏幕进行拍照,以获取与该操作过程相对应的一张图像,并在该图像上定位坐标点(80,50),利用图像识别技术,识别该坐标点在该图像中的预设区域范围内的具体按键内容为“h”图标,据此方法,按照操作顺序依次识别获得操作过程所对应的按键内容,进而生成测试执行脚本为:
本领域技术人员应能理解上述生成测试执行脚本的方式仅为举例,其他现有的或今后可能出现的生成测试执行脚本的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
脚本获取装置11获取测试执行脚本。更具体地,脚本获取装置11定期或应事件触发实时地获取测试执行脚本,例如通过实时监听脚本生成装置14是否有测试执行脚本生成,以获得测试执行脚本,或者定期地通过约定的通信方式,如http、https等通信协议,直接从测设设备1的其他部分或第三方设备读取测试执行脚本。例如,测试设备1的脚本获取装置11实时监听脚本生成装置14发送的测试执行脚本提交请求,通过预定的通信方式获取该测试执行脚本。又如,脚本获取装置11按一定周期,定期地向第三方设备发送获取测试执行脚本的请求,并接收该第三方设备返回的测试执行脚本。本领域技术人员应能理解上述获取测试执行脚本的方式仅为举例,其他现有的或今后可能出现的获取测试执行脚本的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
随后,测试装置12根据所述测试执行脚本,对所述移动终端进行测试操作。具体地,测试装置12根据脚本获取装置11获取的测试执行脚本,对待测的移动终端执行测试操作,其中,所述执行测试操作的方法包括但不限于:1)测试装置12根据测试执行脚本中的操作动作、操作动作的坐标点以及操作动作的执行顺序,驱动机械装置模拟人手的操作对移动终端的物理按键或触摸屏按键进行诸如点击、滑动、悬停、滑动/旋转等操作;2)测试装置12根据测试执行脚本中操作动作、操作动作的内容以及操作动作的执行顺序,并将该测试执行脚本的每一测试步骤逐条利用移动终端提供的应用编程接口(API),将每一测试步骤转换成与该测试步骤相对应的该移动终端可执行的测试执行指令,并将其发送至该移动终端以执行。
例如,被测的移动终端为具有物理键盘的智能手机,对该手机进行操作的场景为:打开该手机的通话按键,并输入电话号码″13811110000″,接着点击确认按键确认;脚本获取装置11获取到测试执行脚本为:
测试装置12根据该测试执行脚本驱动机械装置的机械手指在被测的手机的物理按键上执行操作,该机械手指从起始点(0,0)开始工作,首先将移动到坐标点(10,80)并执行点击操作,接着自动识别从起始点(10,80)到坐标点(10,120)的最短路径,移动至坐标点(10,120)并执行点击操作,据此方法,随后移动到坐标点(80,120)并执行点击,......,移动到坐标点(10,10)并执行点击,由此完成测试操作。
又例如,被测的移动终端为触屏式智能手机,对该智能手机进行操作的场景为:在浏览器的地址栏中输入″www.sina.com″后回车,脚本获取装置11获取到测试执行脚本为:
测试装置12利用该智能手机提供的应用编程接口(API),将该测试执行脚本中的第一测试步骤“click:w”转换成该智能手机可执行的测试执行指令,并将其发送至该智能手机以输入字母“w”,据此方法,测试装置12利用该智能手机的应用编程接口(API),将该测试执行脚本按测试步骤逐条转换为测试执行指令后发送至该智能手机,以完成上述操作。
本领域技术人员应能理解上述测试操作的方式仅为举例,其他现有的或今后可能出现的测试操作的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
随后,图像获取装置13获取所述移动终端上显示的与该测试操作相对应的实际操作结果图像。具体地,图像获取装置13根据测试装置12进行的测试操作,获取移动终端上显示的与该测试操作相对应的实际操作结果图像,其中,获取实际操作结果图像的方式包括但不限于:1)对移动终端的屏幕进行拍照,2)对移动终端的屏幕进行摄像,3)从移动终端的显存中提取。例如,移动终端为触屏式智能手机,测试装置12根据测试执行脚本对该智能手机执行测试,当执行至测试执行脚本中的拍照步骤时,测试装置12触发图像获取装置13对该智能手机的显示屏进行拍照,以获得与该测试步骤相对应的实际操作结果图像。又例如,移动终端为触屏式智能手机,测试装置12根据测试执行脚本对该智能手机执行测试,当执行至测试执行脚本中的拍照步骤时,触发图像获取装置13从该手机的显存中提取与该执行步骤相对应的图像,并作为实际操作结果。本领域技术人员应能理解上述获取实际操作结果图像的方式仅为举例,其他现有的或今后可能出现的获取实际操作结果图像的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
结果获取装置15将所述实际操作结果图像与其所对应的期望结果图像进行比较分析,以获取测试结果。具体地,结果获取装置15将图像获取装置13获取的实际操作结果图像与其所对应的预置的期望结果图像进行比较,判断实际操作结果图像与其所对应的预置的期望结果图像是否一致,并将判断结果作为测试结果,其中,获取测试结果的方式包括但不限于以下方式:
1)当测试装置12执行至测试执行脚本中的拍照步骤时,触发图像获取装置13获取与该测试步骤相对应的实际操作结果图像,接着,结果获取装置15实时地将该实际操作结果图像与其所对应的期望结果图像进行比对分析,以获取与该测试步骤相对应测试结果;
2)当测试装置12执行完成测试执行脚本后,结果获取装置15再将图像获取装置13获得的全部实际执行结果图像与其各自所对应的期望结果图像进行一一比对分析,以获得测试结果。
其中,所述测试结果包括但不限于:1)与测试执行脚本中每一测试步骤相对应的实际操作结果图像是否与其相对应的预置的期望结果图像一致;2)与测试执行脚本中每一测试步骤相对应的实际操作结果图像是否与某类故障对应的故障结果图像相一致。在此,结果获取装置15通过调用应用编程接口(API)从测试设备1或第三方设备的数据库中获取预置的与测试执行脚本每一测试步骤相对应的期望结果图像。
例如,结果获取装置15实时地监控图像获取装置13,当图像获取装置13获取到一张与测试执行脚本中的一个测试步骤相对应的实际操作结果图像时,结果获取装置15从第三方设备的数据库中获取与该测试步骤相对应的预置的期望结果图像,并将该实际操作结果图像与该期望结果图像进行比较,若两张图像完全一致,则测试结果示出实际操作结果图像与该期望结果图像一致,若两张图像不一致,则测试结果示出实际操作结果图像与该期望结果图像不一致。又例如,当测试装置12将测试执行脚本执行完成后,图像获取装置13获得与每一测试步骤相对应的实际操作结果图像,结果获取装置15从第三方设备的数据库中获取与每一测试步骤相对应的预置的期望结果图像,并将该些实际操作结果图像与其各自相对应的预置的期望结果图像一一进行比较,以获得测试结果。优选地,第三方设备的数据库中还可预存该移动终端的某些故障结果图像,其与该移动终端执行该测试步骤时发生的某些故障一一对应,当实际操作结果图像与其相对应的预置的期望结果图像不一致时,结果获取装置15可从第三方设备的数据库获取该等故障结果图像,并将该实际操作结果图像与其进行逐一对比,当确定该实际操作结果图像与其中一故障结果图像相一致时,则可判断该移动终端存在与该故障结果图像相对应的故障。
本领域技术人员应能理解上述获取测试结果的方式仅为举例,其他现有的或今后可能出现的获取测试结果的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,脚本生成装置14、脚本获取装置11、测试装置12、图像获取装置13和结果获取装置15之间是持续不断地工作。具体地,脚本生成装置14通过记录机械装置对移动终端的操作过程,生成测试执行脚本;脚本获取装置11获取测试执行脚本;测试装置12根据所述测试执行脚本,对所述移动终端进行测试操作;图像获取装置13获取所述移动终端上显示的与该测试操作相对应的实际操作结果图像;结果获取装置15将所述实际操作结果图像与其所对应的期望结果图像进行比较分析,以获取测试结果。在此,本领域技术人员应理解“持续”是指各装置分别按照设定的或实时调整的工作模式要求进行测试执行脚本的生成、测试执行脚本的获取、测试的执行、实际操作结果图像的获取及测试结果的获取,直至脚本生成装置14在较长时间内停止对测试执行脚本的获取。
更优选地,所述测试装置12根据所述测试执行脚本,驱动所述机械装置对所述移动终端进行测试操作。具体地,测试装置12根据测试执行脚本中的操作动作、操作动作的坐标点以及操作动作的执行顺序,驱动机械装置模拟人手的操作对移动终端的物理按键或触摸屏按键进行诸如点击、滑动、悬停、滑动/旋转等操作。例如,被测的移动终端为具有物理键盘的智能手机,对该手机进行操作的场景为:在文本编辑器中输入“helloworld”,并进行拍照;脚本获取装置11获取到测试执行脚本为:
测试装置12根据该测试执行脚本驱动机械装置的机械手指在被测的手机的物理按键上执行操作,该机械手指从起始点(0,0)开始工作,首先将移动到坐标点(80,50)并执行点击操作,接着自动识别从起始点(80,50)到坐标点(40,60)的最短路径,移动至坐标点(40,60)并执行点击操作,......,移动到坐标点(35,35)并执行点击,最后触发图像获取装置13对手机显示屏进行拍照以完成该测试操作。本领域技术人员应能理解上述获测试操作的方式仅为举例,其他现有的或今后可能出现的测试操作的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在一个优选实施例中(参照图2),所述测试装置12’还包括操作对象获取单元121’、位置信息获取单元122’和测试单元123’;操作对象获取单元121’根据所述测试执行脚本,获取所述移动终端的操作区域中的操作对象;接着,位置信息获取单元122’对所述移动终端的操作区域进行图像识别,以获取所述操作对象在所述操作区域中的位置信息;随后,测试单元123’根据所述测试执行脚本及位置信息,驱动所述机械装置对所述操作对象进行测试操作。
具体地,操作对象获取单元121’对已获取的测试执行脚本进行解析,提取与该测试执行脚本相对应的操作过程中移动终端的操作区域中的操作对象,并记录与该操作过程相对应的操作对象执行顺序,其中,所述操作区域包括但不限于:1)移动终端的物理按键操作区域;2)移动终端的触摸屏操作区域;所述操作对象包括但不限于:移动终端的物理按键和触摸屏按键等;接着,位置信息获取单元122’通过如拍照的方式获取该移动终端的操作区域的图像,并通过图像识别技术,以获取该些操作对象在该移动终端的操作区域上的位置坐标信息;随后,测试单元123’根据该测试执行脚本以及该些位置坐标信息,并按照操作对象执行顺序,驱动机械装置对该移动终端进行测试操作。
例如,当前移动终端上的物理键盘按键和触摸屏键盘按键的布局大致相同,区别仅在于按键的大小不同,因此,可基于图像识别技术计算获得若干按键的位置和相对距离,从而确定全部按键的位置信息;脚本获取装置11获取的测试执行脚本为:
操作对象获取单元121’根据该测试执行脚本,获取所述移动终端的操作区域中的操作对象按测试步骤依次为“1”、“3”、“8”、......“0”、“确认”;接着,在该手机的三个按键“1”、“2”、“4”及该手机的操作区域的四个顶点预先贴上具有反光功能的物质,位置信息获取单元122’通过拍照的方式获取该手机的操作区域的图像,并通过图像识别技术,识别该三个按键和四个顶点的特殊颜色,并根据该等特殊颜色的位置计算获得各按键间的相对距离,进而获得各按键在该手机的操作区域的实际位置坐标,由此确定“通话”、“1”、“3”、“8”、......、“0”、“确认”各按键在该手机的操作区域中的位置坐标;随后,测试单元123’根据该测试执行脚本以提取测试步骤,并根据各按键的位置坐标,驱动机械装置对该移动终端进行测试操作。本领域技术人员应能理解上述执行测试操作的方式仅为举例,其他现有的或今后可能出现的执行测试操作的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,所述操作对象包括以下至少任一项:
-所述移动终端的物理按键;
-所述移动终端的触摸屏按键。
具体地,操作对象包括但不限于移动终端的物理按键及移动终端的触摸屏按键。其中,所述物理按键为实体键盘的按键,包括但不限于QWERTY全键盘的物理按键、普通手机键盘(keypad)的物理按键、按字母顺序排列的全键盘的按键;所述移动终端的触摸屏按键指用于全触摸手机的虚拟于屏幕的虚拟键盘的按键及菜单按键等,其虚拟键盘布局包括但不限于QWERTY全键盘、普通手机键盘(keypad)、按字母顺序排列的全键盘等。本领域技术人员应能理解上述操作对象仅为举例,其他现有的或今后可能出现的操作对象如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
更优选地,所述图像获取设备13通过以下至少任一项获取实际操作结果图像:
-对所述移动终端的屏幕进行拍照;
-对所述移动终端的屏幕进行摄像;
-从所述移动终端的显存中提取。
具体地,例如,测试装置12根据测试执行脚本触发图像获取装置13获取对手机显示屏的摄制结果,并根据脚本生成装置14记录的机械手指的操作过程,提取机械手指执行操作过程的每一测试步骤的完成时间点,进而从摄像结果中提取与每一时间点相对应的一帧图像作为实际操作结果。又例如,测试装置12根据测试执行脚本对该智能手机执行测试,当执行至测试执行脚本中的拍照步骤时,测试装置12触发图像获取装置13对手机的显示屏进行拍照,以获得与该测试步骤相对应的实际操作结果图像。又例如,测试装置12根据测试执行脚本对该智能手机执行测试,当执行至测试执行脚本中的拍照步骤时,触发图像获取装置13从手机的显存中提取与该执行步骤相对应的图像,并作为实际操作结果。本领域技术人员应能理解上述获取实际操作结果图像的方式仅为举例,其他现有的或今后可能出现的获取实际操作结果图像的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在另一个优选实施例中(参照图1),所述脚本获取装置11还根据所述移动终端的测试需求,在测试执行脚本库中进行匹配查询,以获取与所述测试需求相对应的测试执行脚本。以下参照图1对该优选实施例进行详细描述,其中,测试装置12根据所述测试执行脚本,对所述移动终端进行测试操作;图像获取装置13获取所述移动终端上显示的与该测试操作相对应的实际操作结果图像;脚本生成装置14通过记录机械装置对移动终端的操作过程,生成测试执行脚本;结果获取装置15将所述实际操作结果图像与其所对应的期望结果图像进行比较分析,以获取测试结果;其具体过程与前述参照图1所描述的实施例中测试装置12、图像获取装置13、脚本生成装置14和结果获取装置15所执行的过程相同,为简明起见,以引用方式包含于此,而不做赘述。
具体地,脚本获取装置11根据预设的移动终端的测试需求,例如短信发送功能测试需求、手机拨号功能测试需求等,在测试执行脚本库中进行匹配查询,以获得与该测试需求相对应的测试执行脚本,其中,所述测试执行脚本库中的测试执行脚本包括但不限于:脚本生成装置14生成的测试执行脚本及已提前输入的测试执行脚本。例如,脚本获取装置11根据预设的手机拨号功能测试需求,提取该测试需求的需求标识信息,并根据该需求标识信息在测试执行脚本库中进行查询,匹配获得与该需求标识信息相对应的测试执行脚本。在此,所述测试执行脚本库用于存储针对不同测试需求的测试执行脚本,每一需求标识信息均有至少一个测试执行脚本与其相对应。本领域技术人员应能理解上述获取测试执行脚本的方式仅为举例,其他现有的或今后可能出现的获取测试执行脚本的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,测试设备1还包括更新装置(未示出),更新装置根据所述测试执行脚本,建立或更新所述测试执行脚本库。具体地,更新装置将在脚本获取装置11获取的测试执行脚本及其对应的需求标识信息,写入到该测试执行脚本库中,以更新该测试执行脚本库;若检测到该测试执行脚本库未建立,则先行初始化该测试执行脚本库,然后将该(些)测试执行脚本及其对应的需求标识信息写入到该测试执行脚本库中。例如,更新装置根据在脚本获取装置11获得的测试手机拨号功能的测试执行脚本与其对应的手机拨号功能的测试需求标示信息,在测试执行脚本库中***一条包括该测试需求标示信息,及测试执行脚本内容的数据记录。本领域技术人员应能理解上述建立和更新测试执行脚本库的方式仅为举例,其他现有的或今后可能出现的建立或更新测试执行脚本库的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在再一个优选实施例中(参照图1),测试设备1还包括日志获取装置(未示出),日志获取装置获取所述移动终端的运行日志;接着,结果获取装置15将所述实际操作结果图像与所述期望结果图像进行比较分析,结合所述运行日志,以获取所述测试结果。以下参照图1对该优选实施例进行详细描述,其中,脚本获取装置11获取测试执行脚本;测试装置12根据所述测试执行脚本,对所述移动终端进行测试操作;图像获取装置13获取所述移动终端上显示的与该测试操作相对应的实际操作结果图像;脚本生成装置14通过记录机械装置对移动终端的操作过程,生成测试执行脚本;其具体过程与前述参照图1所描述的实施例中脚本获取装置11、测试装置12、图像获取装置13和脚本生成装置14所执行的过程相同,为简明起见,以引用方式包含于此,而不做赘述。
具体地,日志获取装置例如通过实时监控从该移动终端的测试运行日志中提取与图像获取装置13获取实际操作结果图像相对应的测试步骤的运行日志,并将该实际操作结果图像与该运行日志一并发送至结果获取装置15,该结果获取装置15将获得的该实际操作结果图像与其相对应的预设的期望结果图像进行比较分析,结合该运行日志,以获取测试结果;或者日志获取装置在测试装置12测试执行脚本执行完毕后,例如从移动终端的测试运行日志中提取该移动终端的该次测试相对应的全部运行日志,并与从图像获取装置13获取的全部实际操作结果图像一并发送至结果获取装置15,该结果获取装置15将该些实际操作结果图像与其各自相对应的预置的期望结果图像一一进行比较,并结合运行日志,以获取测试结果,其中,所述测试结果包括但不限于:1)与每一测试步骤相对应的实际操作结果图像与其相对应的期望结果图像是否一致;2)若不一致时,标明与该实际操作结果图像相对应的操作步骤的运行日志。
例如,日志获取装置实时监控图像获取装置13,当图像获取装置13获取一张实际操作结果图像时,从该移动终端的测试运行日志中提取与该实际操作结果图像相对应的测试步骤的运行日志,并将该实际操作结果图像与该运行日志封装打包为数据包,通过调用预定的应用编程接口(API)发送至结果获取装置15,该结果获取装置15解析该数据包,并将解析获得的该实际操作结果图像与其相对应的预设的期望结果图像进行比较分析,结合该运行日志,判断获得实际操作结果图像与其相对应的预设的期望结果图像是否一致,以及与该实际操作结果图像相对应的操作步骤的运行日志。本领域技术人员应能理解上述获取运行日志或获取测试结果的方式仅为举例,其他现有的或今后可能出现的获取运行日志和获取测试结果的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
图3示出根据本发明一个方面测试移动终端的方法流程图。在步骤S4中,测试设备1通过记录机械装置对移动终端的操作过程,生成测试执行脚本;在步骤S1中,测试设备1获取测试执行脚本;在步骤S2中,测试设备1根据所述测试执行脚本,对所述移动终端进行测试操作;在步骤S3中,测试设备1获取所述移动终端上显示的与该测试操作相对应的实际操作结果图像;在步骤S5中,测试设备1将所述实际操作结果图像与其所对应的期望结果图像进行比较分析,以获取测试结果。在此,脚本指使用一种特定的描述性语言,依据一定的格式编写的可执行文件,又称作宏或批处理文件,包括但不限于,JavaScript,VBScript,ActionScript,MAXScript,ASP,JSP,PHP等脚本。。
在此,在步骤S4中,测试设备1执行生成测试执行脚本的操作与其在步骤S1中执行获取测试执行脚本的操作并无严格的先后顺序关系,包括串行或并行方式,例如,在串行方式中,测试设备1在步骤S4中生成测试执行脚本后,在步骤S1中再从其在步骤S4中获取测试执行脚本;或者,在并行方式中,测试设备1在步骤S4中生成测试执行脚本的同时,在步骤S1中从如第三方设备提供的数据库中获取测试执行脚本。为简便起见,下面仅以步骤S4执行在先、步骤S1执行在后的串行执行顺序为例进行阐述。本领域技术人员应能理解,以其他顺序执行步骤S4与步骤S1也适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在此,测试设备1在步骤S3中执行获取实际操作结果图像的操作与在步骤S5中执行获取测试结果的操作并无严格的先后顺序关系,包括串行或并行方式,例如,在串行方式中测试设备1在步骤S3中获取全部实际操作结果图像后,在步骤S5中再将每一实际操作结果图像与其所对应的期望结果图像一一进行比较分析,以获取测试结果;或者,在并行方式中,测试设备1在步骤S3中在获取下一张实际操作结果图像的同时,在步骤S5中对上一张实际操作结果图像与其所对应的期望结果图像进行比较分析,以获取测试结果。为简便起见,下面仅以步骤S3执行在先、步骤S5执行在后的串行执行顺序为例进行阐述。本领域技术人员应能理解,以其他顺序执行的步骤S3与步骤S5也适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
本领域技术人员还应能理解,图3中仅为简明起见而示出的步骤S4先于步骤S1、步骤S3先于步骤S5的执行顺序。
在此,所述移动终端包括但不限于:智能手机、个人数字助理(PDA)、便携式游戏机等,且所述移动终端的按键可以是任何一种物理按键或虚拟按键,包括但不限于QWERTY全键盘按键、普通手机键盘(keypad)按键、按字母顺序排列的全键盘按键,以及任何自定义布局的虚拟键盘按键。其中,所述智能手机包括符合以下条件的任何手机:具有独立的操作***,可以由用户自行安装软件、游戏等第三方服务商提供的程序,通过此类程序来不断对手机的功能进行扩充,并可以通过移动通讯网络来实现无线网络接入;所述个人数字助理(PDA)一种手持式电子设备,具有电子计算机的某些功能,可以用来管理个人信息,也可以上网浏览,收发电子邮件等;所述便携式游戏机是指方便携带的小型专门游戏机,可以随时随地转换视频游戏软件。
具体地,在步骤S4中,测试设备1通过记录机械装置对移动终端的操作过程,生成测试执行脚本。具体地,在步骤S4中,测试设备1通过记录机械装置对移动终端的操作过程,生成测试执行脚本的方式包括但不限于:1)在步骤S4中,测试设备1记录机械装置中的机械手指对移动终端的操作过程,如操作中的执行动作、执行动作的坐标点、执行动作的顺序等,并据此生成测试执行脚本;2)在步骤S4中,测试设备1通过拍照等方式,获取机械装置的机械手指对移动终端的操作过程的图像,并根据测试设备1记录的机械手指在操作过程中的各操作所对应坐标点,利用图像识别技术,识别该等坐标点在该等图像中的预设区域范围内的具体按键内容,进而按照操作顺序生成测试执行脚本。在此,所述机械装置为通过如机械手指对移动终端进行操作的装置。在此,所述测试执行脚本用于记录诸如点击、悬停、滑动/旋转、等待、拍照等操作的执行过程;点击是在单个坐标点进行点击的操作;滑动包括两点或多点间的滑动,例如两点间滑动是在第一坐标点进行点击操作,接着保持按压操作滑动至第二坐标点解除按压操作;等待是基于时间进行的操作;拍照是触发测试设备1在步骤S3中获取对当前移动终端的操作区域的图像。
例如,移动终端为触摸屏智能手机,对该智能手机进行操作的场景为:启动该手机的浏览器,并在地址栏中输入″www.sina.com″后回车,浏览器打开与该网址对应页面后,在该页面中进行拖拽,以实现页面滚动;在步骤S4中,测试设备1通过机械手指对移动终端执行操作并记录该过程,首先记录该机械手指的操作起始点为坐标点(0,0),接着该机械手指移动到坐标点(120,80)并进行点击,在步骤S4中,测试设备1记录该坐标点及其点击动作,随后该机械手指在悬停等待5秒,测试设备1记录等待时间5秒,......,机械手指移动到坐标点(50,40)进行点击并保持按压操作滑动至坐标点(50,100)解除按压操作,测试设备1记录这两个坐标点及滑动动作,测试设备1基于其所记录的机械手指对该智能手机执行操作的全过程,生成测试执行脚本为:
又例如,移动设备为触屏式智能手机,对该智能手机进行操作的场景为:在该智能手机的文本编辑器中输入“helloworld”;机械装置的机械手指对触屏式智能手机执行操作,在步骤S4中,测试设备1记录该操作过程,如在记录机械手指的起始点(0,0)后,第一步为该机械手指移动到坐标点(80,50)并进行点击,接着,测试设备1在机械手指点击坐标点(80,50)的时间点上,触发测试设备1在步骤S3中对触屏式智能手机的屏幕进行拍照,以获取与该操作过程相对应的一张图像,并在该图像上定位坐标点(80,50),利用图像识别技术,识别该坐标点在该图像中的预设区域范围内的具体按键内容为“h”图标,据此方法,按照操作顺序依次识别获得操作过程所对应的按键内容,进而生成测试执行脚本为:
本领域技术人员应能理解上述生成测试执行脚本的方式仅为举例,其他现有的或今后可能出现的生成测试执行脚本的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在步骤S1中,测试设备1获取测试执行脚本。更具体地,在步骤S1中,测试设备1定期或应事件触发实时地获取测试执行脚本,例如通过实时监听测试设备1在步骤S4中是否有测试执行脚本生成,以获得测试执行脚本,或者定期地通过约定的通信方式,如http、https等通信协议,直接从第三方设备读取测试执行脚本。例如,在步骤S1中,测试设备1实时监听其在步骤S4中发送的测试执行脚本提交请求,通过预定的通信方式获取该测试执行脚本。又如,在步骤S1中,测试设备1按一定周期,定期地向第三方设备发送获取测试执行脚本的请求,并接收该第三方设备返回的测试执行脚本。本领域技术人员应能理解上述获取测试执行脚本的方式仅为举例,其他现有的或今后可能出现的获取测试执行脚本的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
随后,在步骤S2中,测试设备1根据所述测试执行脚本,对所述移动终端进行测试操作。具体地,在步骤S2中,测试设备1根据其在步骤S1中获取的测试执行脚本,对待测的移动终端执行测试操作,其中,所述执行测试操作的方法包括但不限于:1)在步骤S2中,测试设备1根据测试执行脚本中的操作动作、操作动作的坐标点以及操作动作的执行顺序,驱动机械装置模拟人手的操作对移动终端的物理按键或触摸屏按键进行诸如点击、滑动、悬停、滑动/旋转等操作;2)在步骤S2中,测试设备1根据测试执行脚本中操作动作、操作动作的内容以及操作动作的执行顺序,并将该测试执行脚本的每一测试步骤逐条利用移动终端提供的应用编程接口(API),将每一测试步骤转换成与该测试步骤相对应的该移动终端可执行的测试执行指令,并将其发送至该移动终端以执行。
例如,被测的移动终端为具有物理键盘的智能手机,对该手机进行操作的场景为:打开该手机的通话按键,并输入电话号码″13811110000″,接着点击确认按键确认;在步骤S1中,测试设备1获取到测试执行脚本为:
在步骤S2中,测试设备1根据该测试执行脚本驱动机械装置的机械手指在被测的手机的物理按键上执行操作,该机械手指从起始点(0,0)开始工作,首先将移动到坐标点(10,80)并执行点击操作,接着自动识别从起始点(10,80)到坐标点(10,120)的最短路径,移动至坐标点(10,120)并执行点击操作,据此方法,随后移动到坐标点(80,120)并执行点击,......,移动到坐标点(10,10)并执行点击,由此完成测试操作。
又例如,被测的移动终端为触屏式智能手机,对该智能手机进行操作的场景为:在浏览器的地址栏中输入″www.sina.com″后回车,在步骤S1中,测试设备1获取到测试执行脚本为:
在步骤S2中,测试设备1利用该智能手机提供的应用编程接口(API),将该测试执行脚本中的第一测试步骤“click:w”转换成该智能手机可执行的测试执行指令,并将其发送至该智能手机以输入字母“w”,据此方法,在步骤S2中,测试设备1利用该智能手机的应用编程接口(API),将该测试执行脚本按测试步骤逐条转换为测试执行指令后发送至该智能手机,以完成上述操作。
本领域技术人员应能理解上述测试操作的方式仅为举例,其他现有的或今后可能出现的测试操作的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
随后,在步骤S3中,测试设备1获取所述移动终端上显示的与该测试操作相对应的实际操作结果图像。具体地,在步骤S3中,测试设备1根据其在步骤S2中进行的测试操作,获取移动终端上显示的与该测试操作相对应的实际操作结果图像,其中,获取实际操作结果图像的方式包括但不限于:1)对移动终端的屏幕进行拍照,2)对移动终端的屏幕进行摄像,3)从移动终端的显存中提取。例如,移动终端为触屏式智能手机,在步骤S2中,测试设备1根据测试执行脚本对该智能手机执行测试,当执行至测试执行脚本中的拍照步骤时,在步骤S2中,测试设备1触发其对该智能手机的显示屏进行拍照,在步骤S3中,测试设备1获得与该测试步骤相对应的实际操作结果图像。又例如,移动终端为触屏式智能手机,在步骤S2中,测试设备1根据测试执行脚本对该智能手机执行测试,当执行至测试执行脚本中的拍照步骤时,在步骤S3中,测试设备1从该手机的显存中提取与该执行步骤相对应的图像,并作为实际操作结果。本领域技术人员应能理解上述获取实际操作结果图像的方式仅为举例,其他现有的或今后可能出现的获取实际操作结果图像的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在步骤S5中,测试设备1将所述实际操作结果图像与其所对应的期望结果图像进行比较分析,以获取测试结果。具体地,在步骤S5中,测试设备1将其在步骤S3中获取的实际操作结果图像与其所对应的预置的期望结果图像进行比较,判断实际操作结果图像与其所对应的预置的期望结果图像是否一致,并将判断结果作为测试结果,其中,获取测试结果的方式包括但不限于以下方式:
1)当测试设备1在步骤S2中执行至测试执行脚本中的拍照步骤时,在步骤S3中,测试设备1获取与该测试步骤相对应的实际操作结果图像,接着,在步骤S5中,测试设备1实时地将该实际操作结果图像与其所对应的期望结果图像进行比对分析,以获取与该测试步骤相对应测试结果;
2)当测试设备1在步骤S2中执行完成测试执行脚本后,在步骤S5中,测试设备1再将其在步骤S3中获得的全部实际执行结果图像与其各自所对应的期望结果图像进行一一比对分析,以获得测试结果。
其中,所述测试结果包括但不限于:1)与测试执行脚本中每一测试步骤相对应的实际操作结果图像是否与其相对应的预置的期望结果图像一致;2)与测试执行脚本中每一测试步骤相对应的实际操作结果图像是否与某类故障对应的故障结果图像相一致。在此,在步骤S5中,测试设备1通过调用应用编程接口(API)从第三方设备的数据库中获取预置的与测试执行脚本每一测试步骤相对应的期望结果图像。
例如,当测试设备1在步骤S3中获取到一张与测试执行脚本中的一个测试步骤相对应的实际操作结果图像时,在步骤S5中,测试设备1从第三方设备的数据库中获取与该测试步骤相对应的预置的期望结果图像,并将该实际操作结果图像与该期望结果图像进行比较,若两张图像完全一致,则测试结果示出实际操作结果图像与该期望结果图像一致,若两张图像不一致,则测试结果示出实际操作结果图像与该期望结果图像不一致。又例如,当测试设备1在步骤S2中将测试执行脚本执行完成后,在步骤S3中,测试设备1获得与每一测试步骤相对应的实际操作结果图像,在步骤S5中,测试设备1从第三方设备的数据库中获取与每一测试步骤相对应的预置的期望结果图像,并将该些实际操作结果图像与其各自相对应的预置的期望结果图像一一进行比较,以获得测试结果。优选地,第三方设备的数据库中还可预存该移动终端的某些故障结果图像,其与该移动终端执行该测试步骤时发生的某些故障一一对应,当实际操作结果图像与其相对应的预置的期望结果图像不一致时,在步骤S5中,测试设备1可从第三方设备的数据库获取该等故障结果图像,并将该实际操作结果图像与其进行逐一对比,当确定该实际操作结果图像与其中一故障结果图像相一致时,则可判断该移动终端存在与该故障结果图像相对应的故障。
本领域技术人员应能理解上述获取测试结果的方式仅为举例,其他现有的或今后可能出现的获取测试结果的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,测试设备1在步骤S4、步骤S1、步骤S2、步骤S3和步骤S5中之间是持续不断地工作。具体地,在步骤S4中,测试设备1通过记录机械装置对移动终端的操作过程,生成测试执行脚本;在步骤S1中,测试设备1获取测试执行脚本;在步骤S2中,测试设备1根据所述测试执行脚本,对所述移动终端进行测试操作;在步骤S3中,测试设备1获取所述移动终端上显示的与该测试操作相对应的实际操作结果图像;在步骤S5中,测试设备1将所述实际操作结果图像与其所对应的期望结果图像进行比较分析,以获取测试结果。在此,本领域技术人员应理解“持续”是指各步骤分别按照设定的或实时调整的工作模式要求进行测试执行脚本的生成、测试执行脚本的获取、测试的执行、实际操作结果图像的获取及测试结果的获取,直至测试设备1在较长时间内停止对测试执行脚本的获取。
更优选地,在步骤S2中,测试设备1根据所述测试执行脚本,驱动所述机械装置对所述移动终端进行测试操作。具体地,在步骤S2中,测试设备1根据测试执行脚本中的操作动作、操作动作的坐标点以及操作动作的执行顺序,驱动机械装置模拟人手的操作对移动终端的物理按键或触摸屏按键进行诸如点击、滑动、悬停、滑动/旋转等操作。例如,被测的移动终端为具有物理键盘的智能手机,对该手机进行操作的场景为:在文本编辑器中输入“helloworld”,并进行拍照;在步骤S1中,测试设备1获取到测试执行脚本为:
在步骤S2中,测试设备1根据该测试执行脚本驱动机械装置的机械手指在被测的手机的物理按键上执行操作,该机械手指从起始点(0,0)开始工作,首先将移动到坐标点(80,50)并执行点击操作,接着自动识别从起始点(80,50)到坐标点(40,60)的最短路径,移动至坐标点(40,60)并执行点击操作,......,移动到坐标点(35,35)并执行点击,最后触发测试设备1在步骤S3中对手机显示屏进行拍照以完成该测试操作。本领域技术人员应能理解上述获测试操作的方式仅为举例,其他现有的或今后可能出现的测试操作的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在一个优选实施例中(参照图4),该过程还包括在步骤S21’、步骤S22’和步骤S23’;在步骤S21’中,测试设备1根据所述测试执行脚本,获取所述移动终端的操作区域中的操作对象;接着,在步骤S22’中,测试设备1对所述移动终端的操作区域进行图像识别,以获取所述操作对象在所述操作区域中的位置信息;随后,在步骤S23’中,测试设备1根据所述测试执行脚本及位置信息,驱动所述机械装置对所述操作对象进行测试操作。
具体地,在步骤S21’中,测试设备1对已获取的测试执行脚本进行解析,提取与该测试执行脚本相对应的操作过程中移动终端的操作区域中的操作对象,并记录与该操作过程相对应的操作对象执行顺序,其中,所述操作区域包括但不限于:1)移动终端的物理按键操作区域;2)移动终端的触摸屏操作区域;所述操作对象包括但不限于:移动终端的物理按键和触摸屏按键等;接着,在步骤S22’中,测试设备1通过如拍照的方式获取该移动终端的操作区域的图像,并通过图像识别技术,以获取该些操作对象在该移动终端的操作区域上的位置坐标信息;随后,在步骤S23’中,测试设备1根据该测试执行脚本以及该些位置坐标信息,并按照操作对象执行顺序,驱动机械装置对该移动终端进行测试操作。
例如,当前移动终端上的物理键盘按键和触摸屏键盘按键的布局大致相同,区别仅在于按键的大小不同,因此,可基于图像识别技术计算获得若干按键的位置和相对距离,从而确定全部按键的位置信息;当测试执行脚本为:
在步骤S21’中,测试设备1根据该测试执行脚本,获取所述移动终端的操作区域中的操作对象按测试步骤依次为“1”、“3”、“8”、......“0”、“确认”;接着,在该手机的三个按键“1”、“2”、“4”及该手机的操作区域的四个顶点预先贴上具有反光功能的物质,在步骤S22’中,测试设备1通过拍照的方式获取该手机的操作区域的图像,并通过图像识别技术,识别该三个按键和四个顶点的特殊颜色,并根据该等特殊颜色的位置计算获得各按键间的相对距离,进而获得各按键在该手机的操作区域的实际位置坐标,由此确定“通话”、“1”、“3”、“8”、......、“0”、“确认”各按键在该手机的操作区域中的位置坐标;随后,在步骤S23’中,测试设备1根据该测试执行脚本以提取测试步骤,并根据各按键的位置坐标,驱动机械装置对该移动终端进行测试操作。本领域技术人员应能理解上述执行测试操作的方式仅为举例,其他现有的或今后可能出现的执行测试操作的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,所述操作对象包括以下至少任一项:
-所述移动终端的物理按键;
-所述移动终端的触摸屏按键。
具体地,操作对象包括但不限于移动终端的物理按键及移动终端的触摸屏按键。其中,所述物理按键为实体键盘的按键,包括但不限于QWERTY全键盘的物理按键、普通手机键盘(keypad)的物理按键、按字母顺序排列的全键盘的按键;所述移动终端的触摸屏按键指用于全触摸手机的虚拟于屏幕的虚拟键盘的按键及菜单按键等,其虚拟键盘布局包括但不限于QWERTY全键盘、普通手机键盘(keypad)、按字母顺序排列的全键盘等。本领域技术人员应能理解上述操作对象仅为举例,其他现有的或今后可能出现的操作对象如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
更优选地,在步骤S3中,测试设备1通过以下至少任一项获取实际操作结果图像:
-对所述移动终端的屏幕进行拍照;
-对所述移动终端的屏幕进行摄像;
-从所述移动终端的显存中提取。
具体地,例如,在步骤S2中,测试设备1根据测试执行脚本触发测试设备1在步骤S3中获取对手机显示屏的摄制结果,并根据测试设备1在步骤S4中记录的机械手指的操作过程,提取机械手指执行操作过程的每一测试步骤的完成时间点,进而从摄像结果中提取与每一时间点相对应的一帧图像作为实际操作结果。又例如,在步骤S2中,测试设备1根据测试执行脚本对该智能手机执行测试,当执行至测试执行脚本中的拍照步骤时,测试设备1触发其在步骤S3中对手机的显示屏进行拍照,以获得与该测试步骤相对应的实际操作结果图像。又例如,在步骤S2中,测试设备1根据测试执行脚本对该智能手机执行测试,当执行至测试执行脚本中的拍照步骤时,触发其在步骤S3中从手机的显存中提取与该执行步骤相对应的图像,并作为实际操作结果。本领域技术人员应能理解上述获取实际操作结果图像的方式仅为举例,其他现有的或今后可能出现的获取实际操作结果图像的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在另一个优选实施例中(参照图3),在步骤S1中,测试设备1还根据所述移动终端的测试需求,在测试执行脚本库中进行匹配查询,以获取与所述测试需求相对应的测试执行脚本。以下参照图3对该优选实施例进行详细描述,其中,在步骤S2中,测试设备1根据所述测试执行脚本,对所述移动终端进行测试操作;在步骤S3中,测试设备1获取所述移动终端上显示的与该测试操作相对应的实际操作结果图像;在步骤S4中,测试设备1通过记录机械装置对移动终端的操作过程,生成测试执行脚本;在步骤S5中,测试设备1将所述实际操作结果图像与其所对应的期望结果图像进行比较分析,以获取测试结果;其具体过程与前述参照图3所描述的实施例中测试设备1在步骤S2、步骤S3、步骤S4和步骤S5中所执行的过程相同,为简明起见,以引用方式包含于此,而不做赘述。
具体地,在步骤S1中,测试设备1根据预设的移动终端的测试需求,例如短信发送功能测试需求、手机拨号功能测试需求等,在测试执行脚本库中进行匹配查询,以获得与该测试需求相对应的测试执行脚本,其中,所述测试执行脚本库中的测试执行脚本包括但不限于:在步骤S4中,测试设备1生成的测试执行脚本及已提前输入的测试执行脚本。例如,在步骤S1中,测试设备1根据预设的手机拨号功能测试需求,提取该测试需求的需求标识信息,并根据该需求标识信息在测试执行脚本库中进行查询,匹配获得与该需求标识信息相对应的测试执行脚本。在此,所述测试执行脚本库用于存储针对不同测试需求的测试执行脚本,每一需求标识信息均有至少一个测试执行脚本与其相对应。本领域技术人员应能理解上述获取测试执行脚本的方式仅为举例,其他现有的或今后可能出现的获取测试执行脚本的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
优选地,该过程还包括步骤S6(未示出),在步骤S6中,测试设备1根据所述测试执行脚本,建立或更新所述测试执行脚本库。具体地,在步骤S6中,测试设备1将其在步骤S1中获取的测试执行脚本及其对应的需求标识信息,写入到该测试执行脚本库中,以更新该测试执行脚本库;若检测到该测试执行脚本库未建立,则先行初始化该测试执行脚本库,然后将该(些)测试执行脚本及其对应的需求标识信息写入到该测试执行脚本库中。例如,在步骤S6中,测试设备1根据其在步骤S1中获得的测试手机拨号功能的测试执行脚本与其对应的手机拨号功能的测试需求标示信息,在测试执行脚本库中***一条包括该测试需求标示信息,及测试执行脚本内容的数据记录。本领域技术人员应能理解上述建立和更新测试执行脚本库的方式仅为举例,其他现有的或今后可能出现的建立或更新测试执行脚本库的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在再一个优选实施例中(参照图3),该过程还包括步骤S7(未示出),在步骤S7中,测试设备1获取所述移动终端的运行日志;接着,在步骤S5中,测试设备1将所述实际操作结果图像与所述期望结果图像进行比较分析,结合所述运行日志,以获取所述测试结果。以下参照图3对该优选实施例进行详细描述,其中,在步骤S1中,测试设备1获取测试执行脚本;在步骤S2中,测试设备1根据所述测试执行脚本,对所述移动终端进行测试操作;在步骤S3中,测试设备1获取所述移动终端上显示的与该测试操作相对应的实际操作结果图像;在步骤S4中,测试设备1通过记录机械装置对移动终端的操作过程,生成测试执行脚本;其具体过程与前述参照图3所描述的实施例中测试设备1在步骤S1、步骤S2、步骤S3和步骤S4中所执行的过程相同,为简明起见,以引用方式包含于此,而不做赘述。
具体地,在步骤S7中,测试设备1例如通过实时监控从该移动终端的测试运行日志中提取与测试设备1在步骤S3中获取实际操作结果图像相对应的测试步骤的运行日志,在步骤S5中,测试设备1将获得的该实际操作结果图像与其相对应的预设的期望结果图像进行比较分析,结合该运行日志,以获取测试结果;或者在步骤S2中,测试设备1执行完毕测试执行脚本后,在步骤S7中,测试设备1例如从移动终端的测试运行日志中提取该移动终端的该次测试相对应的全部运行日志,并与从测试设备1在步骤S3中获取的全部实际操作结果图像一并发送至结果在步骤S5中的测试设备1,在步骤S5中,测试设备1将该些实际操作结果图像与其各自相对应的预置的期望结果图像一一进行比较,并结合运行日志,以获取测试结果,其中,所述测试结果包括但不限于:1)与每一测试步骤相对应的实际操作结果图像与其相对应的期望结果图像是否一致;2)若不一致时,标明与该实际操作结果图像相对应的操作步骤的运行日志。
例如,当测试设备1在步骤S3中获取一张实际操作结果图像时,在步骤S7中,测试设备1从该移动终端的测试运行日志中提取与该实际操作结果图像相对应的测试步骤的运行日志,并将该实际操作结果图像与该运行日志封装打包为数据包,通过调用预定的应用编程接口(API)发送至在步骤S5中的测试设备1,在步骤S5中,测试设备1解析该数据包,并将解析获得的该实际操作结果图像与其相对应的预设的期望结果图像进行比较分析,结合该运行日志,判断获得实际操作结果图像与其相对应的预设的期望结果图像是否一致,以及与该实际操作结果图像相对应的操作步骤的运行日志。本领域技术人员应能理解上述获取运行日志或获取测试结果的方式仅为举例,其他现有的或今后可能出现的获取运行日志和获取测试结果的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (12)
1.一种用于测试移动终端的方法,其中,该方法包括以下步骤:
a获取测试执行脚本;
b根据所述测试执行脚本,对所述移动终端进行测试操作,其中,包括:
-根据所述测试执行脚本,获取所述移动终端的操作区域中的操作对象;
-对所述移动终端的操作区域进行图像识别,以获取所述操作对象在所述操作区域中的位置信息;
-根据所述测试执行脚本及位置信息,驱动机械装置对所述操作对象进行测试操作;
c通过在所述移动终端的显存中提取,获取所述移动终端上显示的与该测试操作相对应的实际操作结果图像;
其中,该方法还包括:
-通过记录机械装置对移动终端的操作过程,生成测试执行脚本;
其中,该方法还包括:
X将所述实际操作结果图像与其所对应的期望结果图像进行比较分析,以获取测试结果。
2.根据权利要求1所述的方法,其中,所述操作对象包括以下至少任一项:
-所述移动终端的物理按键;
-所述移动终端的触摸屏按键。
3.根据权利要求1或2所述的方法,其中,所述步骤a还包括:
-根据所述移动终端的测试需求,在测试执行脚本库中进行匹配查询,以获取与所述测试需求相对应的测试执行脚本。
4.根据权利要求3所述的方法,其中,该方法还包括:
-根据所述测试执行脚本,建立或更新所述测试执行脚本库。
5.根据权利要求1、2、4中任一项所述的方法,其中,该方法还包括:
-获取所述移动终端的运行日志;
其中,所述步骤X还包括:
-将所述实际操作结果图像与所述期望结果图像进行比较分析,并结合所述运行日志,以获取所述测试结果。
6.根据权利要求1、2、4中任一项所述的方法,其中,所述移动终端包括以下至少任一项:
-智能手机;
-个人数字助理;
-便携式游戏机。
7.一种用于测试移动终端的设备,其中,该设备包括:
脚本获取装置,用于获取测试执行脚本;
测试装置,用于根据所述测试执行脚本,对所述移动终端进行测试操作,其中,所述测试装置还包括:
操作对象获取单元,用于根据所述测试执行脚本,获取所述移动终端的操作区域中的操作对象;
位置信息获取单元,用于对所述移动终端的操作区域进行图像识别,以获取所述操作对象在所述操作区域中的位置信息;
测试单元,用于根据所述测试执行脚本及位置信息,驱动机械装置对所述操作对象进行测试操作;
图像获取装置,用于通过在所述移动终端的显存中提取,获取所述移动终端上显示的与该测试操作相对应的实际操作结果图像;
其中,该设备还包括:
脚本生成装置,用于通过记录机械装置对移动终端的操作过程,生成测试执行脚本;
其中,该设备还包括:
结果获取装置,用于将所述实际操作结果图像与其所对应的期望结果图像进行比较分析,以获取测试结果。
8.根据权利要求7所述的设备,其中,所述操作对象包括以下至少任一项:
-所述移动终端的物理按键;
-所述移动终端的触摸屏按键。
9.根据权利要求7或8所述的设备,其中,所述脚本获取装置还用于根据所述移动终端的测试需求,在测试执行脚本库中进行匹配查询,以获取与所述测试需求相对应的测试执行脚本。
10.根据权利要求9所述的设备,其中,该设备还包括:
更新装置,用于根据所述测试执行脚本,建立或更新所述测试执行脚本库。
11.根据权利要求7、8、10任一项所述的设备,其中,该设备还包括:
日志获取装置,用于获取所述移动终端的运行日志;
其中,所述结果获取装置还用于将所述实际操作结果图像与所述期望结果图像进行比较分析,并结合所述运行日志,以获取所述测试结果。
12.根据权利要求7、8、10中任一项所述的设备,其中,所述移动终端包括以下至少任一项:
-智能手机;
-个人数字助理;
-便携式游戏机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110260755.1A CN102314386B (zh) | 2011-09-05 | 2011-09-05 | 一种测试移动终端的方法与设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110260755.1A CN102314386B (zh) | 2011-09-05 | 2011-09-05 | 一种测试移动终端的方法与设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102314386A CN102314386A (zh) | 2012-01-11 |
CN102314386B true CN102314386B (zh) | 2016-06-29 |
Family
ID=45427573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110260755.1A Active CN102314386B (zh) | 2011-09-05 | 2011-09-05 | 一种测试移动终端的方法与设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102314386B (zh) |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103383658B (zh) * | 2012-05-04 | 2017-09-29 | 腾讯科技(深圳)有限公司 | 记忆移动终端操作的方法和服务器 |
CN102841845B (zh) * | 2012-07-30 | 2015-02-11 | 广东欧珀移动通信有限公司 | 一种Android设备软件自动测试方法 |
CN102904996B (zh) * | 2012-10-16 | 2016-08-03 | 深圳创维数字技术有限公司 | 一种手机触摸屏性能测试的方法及装置、*** |
CN103778053A (zh) * | 2012-10-18 | 2014-05-07 | 周玲玲 | 移动终端远程真机测试***及方法 |
CN103076770B (zh) * | 2012-12-05 | 2017-07-07 | 瞬联软件科技(北京)有限公司 | 基于机械手的移动设备远程测试*** |
WO2014117363A1 (en) * | 2013-01-31 | 2014-08-07 | Hewlett-Packard Development Company, L.P. | Generating software test script from video |
CN104346276B (zh) * | 2013-08-08 | 2018-12-11 | 腾讯科技(深圳)有限公司 | 软件测试的方法及装置 |
CN104423822B (zh) * | 2013-08-30 | 2019-04-02 | 腾讯科技(深圳)有限公司 | 录制自动化测试脚本的方法及装置 |
WO2015059508A1 (en) * | 2013-10-24 | 2015-04-30 | Teleplan Technology B.V. | Method and apparatus for testing cell phones |
TWI510918B (zh) * | 2014-02-20 | 2015-12-01 | Wistron Corp | 快速測試及偵測行動裝置的方法及其系統 |
CN103838674A (zh) * | 2014-03-21 | 2014-06-04 | 徐禄勇 | 基于数字图像的智能测试机器人及其使用方法 |
CN103928038B (zh) * | 2014-04-29 | 2017-06-30 | 广东欧珀移动通信有限公司 | 电子设备的测试录制及回放方法 |
CN105025518B (zh) * | 2014-04-30 | 2018-09-25 | 中国电信股份有限公司 | 一种应用运行质量自动拨测方法、服务器以及*** |
CN105095063A (zh) * | 2014-05-12 | 2015-11-25 | 腾讯科技(深圳)有限公司 | 应用程序测试方法、装置及*** |
CN105183630B (zh) * | 2014-06-05 | 2019-06-14 | 腾讯科技(深圳)有限公司 | 应用程序测试方法及装置 |
CN105279077A (zh) * | 2014-06-24 | 2016-01-27 | 腾讯科技(深圳)有限公司 | 自动化测试方法和装置 |
CN104284184A (zh) * | 2014-10-16 | 2015-01-14 | 厦门美图之家科技有限公司 | 一种自动校验图像或视频效果的方法 |
CN104717337B (zh) * | 2015-04-03 | 2018-03-02 | 杭州昕云信息科技有限公司 | 一种批量测试手机应用的方法及其使用的设备 |
CN104866420B (zh) * | 2015-04-27 | 2018-11-02 | 深圳市祈锦通信技术有限公司 | 一种精确记录的手机软件测试方法 |
CN104935639A (zh) * | 2015-05-06 | 2015-09-23 | 上海斐讯数据通信技术有限公司 | 一种智能终端及其应用的分布式开发***及方法 |
CN104899140B (zh) * | 2015-06-03 | 2017-08-25 | 上海斐讯数据通信技术有限公司 | 一种移动终端组件的测试方法 |
CN105117340B (zh) * | 2015-08-31 | 2017-12-19 | 国家计算机网络与信息安全管理中心 | 用于iOS浏览器应用质量评估的URL检测方法和装置 |
CN105183599B (zh) * | 2015-09-08 | 2018-07-13 | 上海斐讯数据通信技术有限公司 | 脚本录制***及方法 |
CN105675043B (zh) * | 2016-01-08 | 2018-04-17 | 上海轩田工业设备有限公司 | 一种触摸屏性能检测设备 |
CN107203463B (zh) * | 2016-03-16 | 2021-10-08 | 斑马智行网络(香港)有限公司 | 界面测试的方法、界面绘制方法及装置 |
CN105866575B (zh) * | 2016-03-30 | 2020-04-10 | 中车株洲电力机车研究所有限公司 | 一种车载显示器综合测试装置及测试方法 |
CN106055446B (zh) * | 2016-06-24 | 2019-09-20 | 捷开通讯(深圳)有限公司 | 一种移动终端的测试方法及装置 |
CN106484614B (zh) * | 2016-09-29 | 2019-01-22 | 厦门美图之家科技有限公司 | 一种核对图片处理效果的方法、装置及移动终端 |
CN106685754B (zh) * | 2016-12-06 | 2020-06-02 | 捷开通讯(深圳)有限公司 | 终端文件传输的测试方法、测试设备及测试*** |
CN106817469B (zh) * | 2017-01-18 | 2020-01-03 | 深圳聖信科技有限公司 | 一种模拟人工操作的终端软件测试方法及*** |
CN106933738A (zh) * | 2017-02-09 | 2017-07-07 | 珠海格力电器股份有限公司 | App测试方法、app测试脚本生成装置和app测试脚本执行装置 |
CN106874208A (zh) * | 2017-02-27 | 2017-06-20 | 网易(杭州)网络有限公司 | 测试脚本的处理方法、装置及电子设备 |
CN109117324A (zh) * | 2017-06-26 | 2019-01-01 | 深圳回收宝科技有限公司 | 终端检测方法、装置、终端及存储介质 |
CN109117035B (zh) * | 2017-06-26 | 2021-06-22 | 深圳回收宝科技有限公司 | 悬浮图标的隐藏方法、终端回收***及存储介质 |
CN109144379B (zh) * | 2017-06-26 | 2021-02-02 | 深圳回收宝科技有限公司 | 对终端进行操作的方法、终端检测设备、***及存储介质 |
CN109117067A (zh) * | 2017-06-26 | 2019-01-01 | 深圳回收宝科技有限公司 | 终端触控性能的检测方法及其装置 |
TWI644560B (zh) * | 2017-12-27 | 2018-12-11 | 瑞軒科技股份有限公司 | 影音裝置測試系統 |
CN109587663A (zh) * | 2018-10-25 | 2019-04-05 | 惠州市德赛西威汽车电子股份有限公司 | 一种车载Wi-Fi开关的自动化测试方法及其*** |
CN109816649A (zh) * | 2019-01-23 | 2019-05-28 | 晶晨半导体(上海)股份有限公司 | 一种软件测试方法和软件测试装置 |
CN110390328B (zh) * | 2019-06-28 | 2022-11-22 | 联想(北京)有限公司 | 一种信息处理方法及设备 |
CN112557001A (zh) * | 2019-09-06 | 2021-03-26 | 英业达科技有限公司 | 电子设备的可靠性与功能性自动化测试方法 |
CN110990238B (zh) * | 2019-11-13 | 2021-09-21 | 南京航空航天大学 | 基于视频拍摄的非侵入式可视化测试脚本自动录制方法 |
CN111652180B (zh) * | 2020-06-16 | 2023-11-17 | 北京梧桐车联科技有限责任公司 | 缺陷定位方法、装置、设备及计算机可读存储介质 |
CN112346425B (zh) * | 2020-11-20 | 2024-01-16 | 宜宾市极米光电有限公司 | 工厂自动化测试方法、***、投影设备及存储介质 |
CN115480110A (zh) * | 2021-06-16 | 2022-12-16 | 北京沃华慧通测控技术有限公司 | 一种静电放电测试装置和测试方法 |
CN115542033B (zh) * | 2021-06-30 | 2024-02-09 | 北京沃华慧通测控技术有限公司 | 一种静电放电测试***和测试方法 |
CN115294263B (zh) * | 2022-10-08 | 2023-02-03 | 武汉大学 | 一种光照估计方法及*** |
CN115408228B (zh) * | 2022-11-02 | 2023-01-17 | 长沙巨翊医疗科技有限公司 | 一种触摸屏设备自动化测试方法、装置及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1976526A (zh) * | 2006-11-15 | 2007-06-06 | 华为技术有限公司 | 一种手机自动化测试***和测试方法 |
CN101272422A (zh) * | 2007-03-21 | 2008-09-24 | 中兴通讯股份有限公司 | 一种手机自动化测试方法 |
CN101719096A (zh) * | 2009-12-29 | 2010-06-02 | 北京航空航天大学 | 一种提高实时嵌入式***测试脚本执行速度的方法 |
-
2011
- 2011-09-05 CN CN201110260755.1A patent/CN102314386B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1976526A (zh) * | 2006-11-15 | 2007-06-06 | 华为技术有限公司 | 一种手机自动化测试***和测试方法 |
CN101272422A (zh) * | 2007-03-21 | 2008-09-24 | 中兴通讯股份有限公司 | 一种手机自动化测试方法 |
CN101719096A (zh) * | 2009-12-29 | 2010-06-02 | 北京航空航天大学 | 一种提高实时嵌入式***测试脚本执行速度的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102314386A (zh) | 2012-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102314386B (zh) | 一种测试移动终端的方法与设备 | |
CN108804302B (zh) | 一种远程测试方法、***及相关设备 | |
US10394577B2 (en) | Method and apparatus for automatic processing of service requests on an electronic device | |
KR101731293B1 (ko) | 모바일 단말기 테스트 시스템 및 이를 이용한 모바일 단말기 테스트 방법 | |
CN105843734A (zh) | 一种自动化测试方法、装置及计算设备 | |
CN101510125A (zh) | 一种通过蓝牙实现手机控制计算机键盘鼠标操作的方法 | |
CN104823150B (zh) | 信息终端和存储介质 | |
CN101262681A (zh) | 自动测试的移动终端及实现方法 | |
WO2018121582A1 (zh) | 脚本生成方法及装置 | |
JP2012103786A (ja) | テスト支援装置、制御方法、及びプログラム | |
CN112882953A (zh) | 基于安卓调试桥的应用程序的自动演示方法和*** | |
JP2013118612A (ja) | 移動通信端末の画面キャプチャー方法 | |
CN101137080A (zh) | 用于便携式电子装置的远程管理***和方法 | |
CN113568621A (zh) | 一种页面埋点的数据处理方法和装置 | |
CN104991857B (zh) | 跟踪调试方法及装置 | |
CN103269497B (zh) | 一种对手机进行管理和测试的方法及*** | |
CN112286617A (zh) | 操作指导方法、装置及电子设备 | |
JP6133460B1 (ja) | 操作支援システム、操作支援プログラム及び操作支援方法 | |
CN112416751A (zh) | 接口自动化测试的处理方法、装置及存储介质 | |
CN105094633A (zh) | 传输控制指令的方法及装置 | |
CN109376085B (zh) | 测试用例生成方法、装置及计算机可读存储介质 | |
CN104765686B (zh) | 测试应用程序的方法及装置 | |
CN103473170A (zh) | 测试***及测试方法 | |
CN112202958B (zh) | 截图方法、装置及电子设备 | |
TW201439808A (zh) | 伺服器、使用者裝置及終端裝置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |