CN105843734B - 一种自动化测试方法、装置及计算设备 - Google Patents
一种自动化测试方法、装置及计算设备 Download PDFInfo
- Publication number
- CN105843734B CN105843734B CN201610155897.4A CN201610155897A CN105843734B CN 105843734 B CN105843734 B CN 105843734B CN 201610155897 A CN201610155897 A CN 201610155897A CN 105843734 B CN105843734 B CN 105843734B
- Authority
- CN
- China
- Prior art keywords
- script
- event
- action
- test
- mobile terminal
- 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
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
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种自动化测试方法,适于在计算设备中执行,包括:实时获取待测移动终端的界面截图,并将其展示在计算设备中;接收测试者通过鼠标或按键在界面截图区域的输入操作,确定该输入操作的类型和参数;根据移动终端触摸屏的输入检测规则以及输入操作的类型和参数,确定该输入操作所模拟的事件动作,生成其对应的测试脚本;将测试脚本发送到移动终端,并使之开始同步执行测试。本发明还公开了一种自动化测试装置和计算设备。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种自动化测试方法、装置及计算设备。
背景技术
随着移动终端设备制造技术的不断发展,各种移动终端设备的智能化程度、便携性等都有了前所未有的提高,诸如智能手机等移动终端设备得到了大规模的普及。如今的移动终端设备,可以运行相对复杂的操作系统,同时,越来越多的开发者投入到移动终端设备应用软件的开发中,为各种设备平台开发了数量庞大的软件应用。软件测试是软件应用开发过程中不可或缺的重要环节,对于移动终端中软件应用的开发亦是如此。通过软件测试,可以了解软件应用是否存在错误,其运行过程或运行结果是否符合预期要求,软件应用所能承受的压力等等。
移动终端的软件应用的测试工作,为开发出相对理想的移动终端软件应用提供了保证,而其中非常重要的环节就是设计与编写自动化脚本是测试脚本一般指的是一个特定测试的一系列指令,这些指令可以被自动化测试工具执行。为了提高测试脚本的可维护性和可复用性,必须在执行测试脚本之前对它们进行构建。测试脚本可以被创建(记录)或使用测试自动化工具自动生成,或用编程语言编程来完成,也可综合前三种方法来完成。
但通常测试者手动编写脚本的速度都较慢,而且需要对编写规则非常熟悉,否则极容易因为一两个字符的出错导致整个脚本的失败。另外,在验证脚本有效性的过程(脚本调试)也较为繁琐:需要进行手动的复制黏贴、并在移动终端通过操作应用软件来启动脚本调试,或者在CMD命令行中执行push操作,并启动shell命令来执行脚本调试。这些都无疑加大了自动化测试的成本,且影响自动化测试的效率。
发明内容
为此,本发明提供一种自动化测试的方法、装置及计算设备,以力图解决或者至少缓解上面存在的至少一个问题。
根据本发明的一个方面,提供了一种自动化测试方法,适于在计算设备中执行,该方法包括:实时获取待测移动终端的界面截图,并将其动态展示在计算设备的展示页面中;接收测试者通过鼠标或按键在界面截图区域的输入操作,并确定该输入操作的类型和参数;根据移动终端触摸屏的输入检测规则以及接收到的输入操作的类型和参数,确定该输入操作所模拟的事件动作,并生成该事件动作所对应的测试脚本;将该测试脚本发送到待测移动终端,并使之同步执行该测试脚本。
可选地,在根据本发明的自动化测试方法中,通过可视化按钮的形式插入或删除一个事件动作及其脚本、导入已有的测试脚本,以及导出最终生成的测试脚本。
可选地,根据本发明的自动化测试方法,还包括:响应于测试者在一级输入框中所选择的事件动作,从测试用例库中提取该事件动作的对象,并将其展现在二级输入框的下拉菜单中;以及根据测试者在各级输入框中的选择,生成与之对应的自动化测试脚本。
可选地,根据本发明的自动化测试方法,还包括:将单个或多个事件动作所对应的测试脚本发送到待测移动终端,并使之开始执行相应测试;以及在计算设备的界面截图区域中,判断该测试脚本是否执行正确。
可选地,在根据本发明的自动化测试方法中,生成该事件动作所对应的测试脚本的步骤还包括:根据预定文本规则生成该事件动作所对应的测试命令文本,其中计算设备中预先存储有所述测试命令文本所对应的测试脚本。
可选地,根据本发明的自动化测试方法,还包括:向待测移动终端发送脚本录制指令;接收测试者在移动终端中所进行的输入操作,确定该输入操作的参数和类型;根据接收到的输入操作的参数和类型,生成其对应的测试脚本,并将其展示在计算设备端。
可选地,在根据本发明的自动化测试方法中,将测试脚本发送到待测移动终端,并使之同步执行该测试脚本的步骤还包括:向待测移动终端发送脚本执行指令,使之开始执行该测试脚本。
可选地,在根据本发明的自动化测试方法中,事件动作包括在待测移动终端的点击事件动作、长按事件动作、滑动事件动作、打开事件动作中的至少一个。
可选地,在根据本发明的自动化测试方法中,计算设备中存储有脚本编辑器,适于展示所述获取到的界面截图、所述生成的测试脚本、所述各级输入框,以及所述可视化按钮。
根据本发明的另一方面,提供了一种自动化测试装置,装置包括适于驻留在计算设备中,该装置包括:输入操作确定模块,适于接收测试者通过鼠标或按键在界面截图区域的输入操作,并确定该输入操作的类型和参数;脚本生成模块,适于根据移动终端触摸屏的输入检测规则以及接收到的输入操作的类型和参数,确定该输入操作所模拟的事件动作,并生成该事件动作所对应的测试脚本;以及脚本发送模块,适于将测试脚本发送到待测移动终端,并使之同步执行所述测试脚本。
可选地,根据本发明自动化测试装置中,还包括:可视化按钮编辑模块,适于通过可视化按钮的形式插入或删除一个事件动作及其脚本、导入已有的测试脚本,以及导出所生成的测试脚本。
可选地,根据本发明自动化测试装置中,还包括:输入框编辑模块,适于响应测试者在一级输入框中所选择的事件动作,从测试用例库中提取所述事件动作的对象,并将其展现在二级输入框的下拉菜单中,以及根据测试者在各级输入框中的选择,生成相应的自动化测试脚本。
可选地,根据本发明自动化测试装置中,还包括:脚本调试模块,适于将单个或多个事件动作所对应的测试脚本发送到待测移动终端,并使之开始执行相应测试;以及在所述计算设备的界面截图区域,判断所述测试脚本是否执行正确。
可选地,根据本发明自动化测试装置中,脚本生成模块还适于根据预定文本规则生成该事件动作所对应的测试命令文本,其中计算设备中预先存储有所述测试命令文本所对应的测试脚本。
可选地,根据本发明自动化测试装置中,脚本发送模块还适于向待测移动终端发送脚本执行指令,使之开始执行该测试脚本。
可选地,在根据本发明的自动化测试装置中,所述事件动作包括在待测移动终端的点击事件动作、长按事件动作、滑动事件动作、打开事件动作中的至少一个。
根据本发明的另一方面,提供了一种脚本编辑器,具有如上所述的自动化测试装置。
根据本发明的另一方面,提供了一种计算设备,包括如上所述的脚本编辑器。
根据本发明的自动化测试方案,测试人员只需要在PC端脚本编辑器中的界面展示区域,模拟操作相关事件动作,系统就会自动生产该事件动作所对应的脚本,并将其发送到移动终端进行测试,实现了PC端和移动终端的实时同步功能,可以不再过分依赖移动终端,使自动化测试的实现更加方便。另外,本方案使用下拉框选择和输入关键字符的操作来生成测试脚本的方式,大大提高了脚本的编写效率,降低了脚本出错率,同时也节约了部分文字脚本规则的学习成本。
本发明提供了多种简单快捷的脚本生成方法,测试人员不用掌握复杂的编程语言和代码管理技能,也不用搭建复杂的开发环境,从而大大降低了移动终端的自动化测试的测试成本,并且提高了自动化测试的效率,使得自动化测试更加简单便捷、大众化。
此外,本方案还提供了导入和导出脚本的功能,方便对已有脚本进行编辑修改、重新适配或完善优化,从而提高了脚本的适配速度。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明的一个示例性实施方式的计算设备100的构造框图;
图2示出了根据本发明一个实施例的自动化测试方法200的流程图;
图3示出了根据本发明一个实施例的自动化测试装置300的示意图;以及
图4示出了根据本发明一个实施例的脚本编辑器的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1为根据本发明的一个实施方式的计算设备100构造示意图。参照图1,在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器((μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。在一些实施方式中,应用122可以布置为在操作系统上利用程序数据124进行操作。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备100可以实现为小尺寸便携(或者移动)电子设备的一部分。计算设备100还可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。在一些实施例中,计算设备100被配置为执行根据本发明的自动化测试方法200,其中应用122包括根据本发明的自动化测试装置300。
图2示出了根据本发明一个实施例的自动化测试方法200的流程图。
如图2所示,该方法始于步骤S210。在步骤S210中,实时获取待测移动终端的界面截图,并将其动态展示在所述计算设备的展示页面中。具体地,移动终端在与计算设备相连后主动或者响应计算设备请求,定期截取当前界面截图发送给计算设备,并展示在如图4所示的脚本编辑器中。这样即可在计算设备端实时观察到移动终端的当前界面。
随后,在步骤S220中,接收测试者通过鼠标或按键在界面截图区域的输入操作,确定该输入操作的类型和参数,其中输入操作的参数包括位置和/或操作时间。例如,确定该输入操作为鼠标指针从界面中的A点到B点的拖拽,或者鼠标指针对界面中某个位置的点击。随后,在步骤S230中,根据移动终端触摸屏的输入检测规则以及接收到的输入操作的类型和参数,确定该输入操作所模拟的事件动作,并生成该事件动作所对应的测试脚本。例如,在计算设备端从界面截图区域的A点到B点的拖拽模拟为从移动终端的A点到B点的滑动。另外,在生成测试脚本时,可以先根据预定文本规则生成该事件动作所对应的测试命令文本,而计算设备端中预先存储有不同的测试命令文本所对应的测试脚本。这样,测试人员就可以通过简单的鼠标/键盘操作来模拟某些测试步骤,从而快速生成其对应的测试命令文本,进而自动生成该步骤所对应的测试脚本,而无需进行手动的逐步编写。
在这里,预定文本规则一般包括根据操作动作预定义的操作语句、控制语句、验证语句和用来修饰前面三种语句的语句分隔修饰符,而这些语句即可构成一行行的测试命令文本。
(1)操作语句,用来声明测试人员想要执行的某个动作,包括:点击、长按、滑动、打开、截屏、等待、输入等操作动作。
其中“点击”对象可以分为:点击屏幕坐标、点击物理按键、点击文本对象。具体地,点击屏幕坐标:以语句分隔修饰符“|”来分割x,y坐标。例如,测试者在某一步骤中需要进行点击测试,并在脚本编辑器中的某一位置进行了点击操作,侧则根据本方案的测试方案,可以从中提取出该操作事件的参数:用户点击的坐标点的X、Y值,并将其映射为测试脚本中的测试命令:点击|坐标|360|720;点击物理按键:定义物理按键包含HOME、MENU、BACK、CAMERA、POWER(灭屏/亮屏)、VOLUME_UP、VOLUME_DOWN等七个按键。要求按键部分为英文大写。例如,点击|按键|HOME;点击文本对象:例如,点击|文本|设置。
“长按”对象可以分为:长按屏幕坐标和长按文本对象。具体地,长按屏幕坐标:以“|”来分割x,y坐标。例如,长按|坐标|360|720;长按文本对象:例如,长按|文本|设置。
“滑动”操作分为以下两种:左右方向滑动时,直接写出滑动的方向,例如,滑动|从左到右、滑动|从右到左;而记录滑动屏幕坐标的操作时,需要记录起点坐标(x0,y0)、点击起点时的时间t0,终点坐标(x1,y1)、放开终点坐标时的时间t1,并计算时间差t(t=t1-t0),此时滑动坐标可以被映射为:滑动|x0|y0|x1|y1|t。如图4中所示该滑动操作对应的测试脚本被记录为滑动|坐标|974|1038|403|1087|700。
“打开”对象分为以下两种:打开应用程序:打开|程序名称。例如,打开|联系人;打开状态栏:打开|状态栏。
“截屏”操作可以分为以下两种:无备注的截屏方式:例如,截屏;添加备注的截屏方式:例:截屏|备注内容。
“等待”操作:当测试者输入两个操作事件之间的时间间隔超过预定时间值时(一般为1000毫秒),通常认为其所输入的事件为等待事件,记录该操作事件的参数:输入两个操作事件之间的等待时间,接着映射为测试命令“等待|等待时间”,例如,等待|1000。
“输入”操作:输入|要输入的文本|要输入的位置。例如,要表示在屏幕坐标点(100,300)的位置输入“测试测试”四个字,可以表示为:输入|测试测试|100|300。
(2)控制语句,用来控制动作,包括:循环、外循环、内循环、等待消失、等待出现、异常中断等操作动作。
其中,“循环”操作是控制整个语句中的循环情况,通过循环语句可以定义测试文本中的测试运行参数。例如,循环|10{截屏}表示连续10次截屏。“外循环”是指控制整条Case的外循环。一般在一个测试脚本中仅出现1次,建议放于首行。例如,外循环|2。“内循环”是指控制部分Case步骤循环,一般放在要循环步骤之前,在一个测试脚本中可出现多次,但不可嵌套循环。并且需明确指定该语句之后的几行以及循环次数。例如,内循环|3|2表示将该语句之后的3行语句循环2次。
“等待出现”指在某一段特定的时间内,等待某一个文本对象出现后进行下一个操作。例如,等待出现|文本|设置|表示当文本出现时,进行设置。
“等待消失”指在某一段特定的时间内,等待某一个文本对象消失后进行下一个操作。例如,等待消失|文本|设置|表示当文本对象结束后,进行设置。
“异常中断”指当测试脚本抛出异常,如点击了不存在的对象、或者发生错误,如验证某个对象存在时,设定是否中断当前Case。默认为不中断。例如,异常中断|是。
(3)验证语句,用来进行结果判断,来判断执行测试结果。在测试中,常会进行一些验证操作,判断某种情况或状态是否存在,此时就需要引入验证语句。包括如下两种:验证存在,例如存在文本对象,验证存在|文本|设置;验证不存在,例如不存在文本对象,验证不存在|文本|设置。
(4)语句分隔修饰符,用诸如“|”、“#”、“{}”、“()”、“,”等符号来断句。例如,“|”用来分割动作与动作对象、控制与控制对象、断言与断言对象;“#”用来注释文本;“{}”用来控制循环部分,{}内的语句将循环执行;“()”用来修饰对象,如坐标(100,100);“,”用来分割对象。
显然地,测试脚本中的测试命令表示为具有固定格式的文本语言,因而大大降低了用户理解和修改测试脚本的难度,给用户带来极大便利。
随后,在步骤S240中,将测试脚本发送到待测移动终端,并使之同步执行该测试脚本。具体地,在发送测试脚本时,还会发送一个测试的执行指令,移动终端根据该指令开始执行测试脚本,并生成相应的测试报告。其中,运行测试脚本的步骤可以包括:读取测试脚本中起始的一个测试命令,执行一个测试命令,接着对测试脚本中后续的测试命令重复上述读取和执行的步骤。此外,生成的脚本还会自动保存在计算设备端的文件中。例如,可以将录制的测试脚本以测试者所输入的测试脚本名称为文件名,存储至计算设备的文件中。其中,存储的测试脚本可以为txt格式文件。
此外,还可以在脚本运行结束后,生成运行报告,该运行报告包括运行的脚本名称、脚本运行的起始和结束时间、以及脚本运行中各测试命令的执行时间和内容。然后可以根据该运行报告生成测试报告,测试报告包括运行的脚本名称和脚本内容、脚本运行的次数、脚本运行的时长、图片对比的次数、以及上述测试结果。
根据一个实施例,本发明还可以响应于测试者在一级输入框中所选择的事件动作,从测试用例库中提取所述事件动作的对象,并将其展现在二级输入框的下拉菜单中;并根据测试者在各级输入框中的选择,生成与之对应的自动化测试脚本。相对应地,可以在二级输入框选择各项事件动作的对象,也即在对象/选项中自动过滤出与操作类型符合的元素。过滤的原理为:将所有可能出现的对象/选项放置在一个列表中。此外,在部分需要输入坐标的操作时,坐标输入框将自动亮起,反之则自动置灰,并且为不可编辑状态,从而达到过滤和降低脚本错误的效果。同理,二级操作选择后,三级操作也将被逐级过滤。
具体地,根据之前所述的操作语句、控制语句和验证语句这三种预定文本规则,可以将事件动作可以分为操作事件、控制事件和验证事件三个部分,相应地一级输入框中可以分为操作栏、控制栏和验证栏三部分。其中操作栏的下拉菜单中可以选择“点击”、“打开”、“搜索点击”、“长按”、“滑动”、“输入”、“截屏”和“退出”等操作动作。控制栏可以包括“循环”、“外循环”、“内循环”、“等待消失”、“等待出现”、“异常操作”等操作动作。同理,验证栏的下拉菜单可以选择验证“存在”和验证“不存在”两种。
例如:“点击|按键|HOME”,倘若分为三个级别,若在一级输入框中选择“点击”,则在二级输入框中只显示“屏幕坐标”、“物理按键”、“文本对象”等选项,而不会出现“应用”、“状态栏”等无效的操作。二级输入框点击“按键”后,三级输入框只会显示HOME、MENU、BACK、CAMERA、POWER(灭屏/亮屏)、VOLUME_UP、VOLUME_DOWN等按键。应当注意,本发明在生成测试命令文本时,语句分隔修饰符可以自动键入,而不用进行人工输入,从而降低了脚本的错误率。如测试人员在一级输入框选择“点击”后,就会自动地在右侧脚本生成区生成“点击|”字样;当在二级选择“按键”后,相应脚本变为“点击|按键|”;当在三级选择“HOME”后,则会变为“点击|按键|HOME”。当然,也可以在全部选择或输入都完成后,一次性的生成测试命令文本,并将其展示在脚本编辑器中,本发明对其显示方式不作限制。
根据一个实施例,还可以通过可视化按钮的形式插入或删除一个事件动作及其脚本、导入已有的测试脚本,以及导出最终生成的测试脚本。其中可视化按钮包括:插入一个步骤、删除上一个步骤、清空所有步骤导入脚本、导出脚本、手机录制脚本以及PC端录制脚本等功能按钮,从而能够方便快捷的实现脚本的快速生成。
在图4中所示的脚本编辑器中,点击“导入脚本”,可以直接导入PC端中存储的已有脚本,然后对其进行适配和编辑,明显提高了脚本编写速度。
点击“PC端录制脚本”后,如前所述,测试人员在计算设备端演示某个操作动作,就会自动生成对应的脚本,并发送到移动终端使之根据其对应的脚本指令执行该事件动作。
点击“手机录制脚本”后,测试人员在移动终端演示某个操作动作后,计算设备端就会生成对应的测试脚本。具体地,测试者在移动终端输入某项动作后,移动终端首先确定接收到的输入操作的类型和参数,如从A点坐标到B点坐标的滑动。之后,根据该输入操作,生成其对应的测试脚本同步到计算设备端,并显示到脚本编辑器的测试脚本生成区中。比如,在手机端点击一下HOME键,计算设备端操作行的显示栏部分就会显示“点击|按键|HOME",从而明显提高了测试效率。
需要说明的是,在通过计算设备端端录制、可视化按钮及输入框等多种快捷操作生成测试脚本时,本发明还提供了手动的编辑与修改功能,方便测试人员进行脚本完善,这样充分地将工具的快捷和人工的精准结合起来,提高了脚本编写的效率。另外,对于一些快捷操作部分,有时也需要进行人工输入。例如,点击|文本|XXX,其中“点击”、“文本”可以使用快捷键即可自动生成,但“XXX”是动态的不可预估的值,需要由测试人员自主键入。
此外,本发明除了能通过脚本编辑器中的“运行”键随时调试已生成的所有的测试步骤,以验证测试脚本的有效性外;还可以对每行的操作动作进行及时的调试,并在验证其有效性后再进行下一行操作动作的编写。其验证的原理为:自动存储当前的一条操作为一个文件,并自动将文件push到移动终端,随后使用Runtime.getRuntime.exec()的方法调起命令,使用中间件即jar包,执行该测试步骤。而且,因为移动终端的界面实时同步在计算设备端,所以测试人员可以在计算设备端中的脚本编辑器中直观的观察移动终端的执行情况,从而能够及时判断每一步测试脚本的正确性。
比如,#拍一张照片
点击|按键|HOME
打开|应用|相机
点击|文本|拍照
退出|应用|相机
在开启“PC端录制”功能后,脚本编辑器中的展示界面将实时同步显示移动终端的界面,在生成第一行的“点击|按键|HOME”操作并点击确定后,就会自动的进行调试操作,工具将让移动终端执行该最新添加的指令,测试人员可以在PC端观察该操作是否正确,进而判断脚本是否编写正确。若正确,则继续生成第二步“打开|应用|相机”的操作,并即时在移动终端进行调试,以验证其有效性。这样,通过每步操作的单个验证,明显降低了最终脚本的错误率,从而提高了自动化测试的效率。
图3示出了根据本发明一个实施例的自动化测试的装置300的示意图。该装置布置于计算设备100上,如图3所示,该装置300包括:界面获取模块310、输入操作确定模块320、脚本生成模块330和脚本发送模块340。
界面获取模块310适于实时获取待测移动终端的界面截图,并将其动态展示在计算设备的页面中。脚本生成模块320适于接收测试者通过鼠标或按键在界面截图区域的输入操作,确定该输入操作的类型和参数。脚本生成模块330适于根据移动终端触摸屏的输入检测规则以及接收到的输入操作的类型和参数,确定该输入操作所模拟的事件动作,并生成该事件动作所对应的测试脚本。脚本发送模块340适于将所述测试脚本发送到待测移动终端,并使之同步执行所述测试脚本。
此外,脚本生成模块还适于根据预定文本规则生成该事件动作所对应的测试命令文本,而计算设备中预先存储有不同的测试命令文本所对应的测试脚本。脚本发送模块还适于向待测移动终端发送脚本执行指令,使之开始执行所述测试脚本。
根据一个实施例,该装置还可以包括可视化按钮编辑模块,适于通过可视化按钮的形式插入或删除一个事件动作及其脚本、导入已有的测试脚本,以及导出最终生成的测试脚本。
根据另一个实施例,该装置还可以包括输入框编辑模块,适于响应测试者在一级输入框中所选择的事件动作,从测试用例库中提取该事件动作的对象,并将其展现在二级输入框的下拉菜单中,以及根据测试者在各级输入框中的选择,生成相应的自动化测试脚本。
此外,该装置还可以包括脚本调试模块,适于将单个或多个事件动作所对应的测试脚本发送到待测移动终端,并使之开始执行相应测试;以及在计算设备的界面截图区域,判断测试脚本是否执行正确。这样,不管是需要判断单个操作、多个操作步骤甚至是完整的测试脚本,测试人员都可以在计算设备端实时的观察移动终端的测试过程,从而提高了自动化测试的整体效率。
如上所述的事件动作通常包括在待测移动终端的点击事件动作、长按事件动作、滑动事件动作、打开事件动作中的至少一个。其中点击事件动作的对象包括屏幕坐标、物理按键、文本对象;长按事件动作的对象包括屏幕坐标和文本对象;滑动事件动作的对象包括屏幕坐标和滑动方向;打开事件动作的对象包括应用程序和状态栏。
根据本发明的自动化测试装置,其实施例和具体细节已在基于图2和图4的描述中详细公开,在此不再赘述。
本发明还提供一种脚本编辑器,包括如上所述的自动化测试装置,其界面如图4所示,具体包括移动终端的界面展示区、测试命令文本生成区、以及快捷键操作区。
根据本发明的自动化测试方案,可以实时同步移动终端的UI界面,在计算设备端即可清楚的看到当前移动终端的UI界面,提高编写速度。同时,可以使用鼠标来操作该移动终端,并且操作后会自动生成对应的自动化脚本。
此外,测试人员可以简单的通过鼠标/键盘操作,快速的生成脚本,而无需手动键入分隔符,仅需要选择对应操作,并键入关键词(如坐标值、文本内容),便可以轻松而快速的生成测试脚本。而且在选择操作的过程中,工具在界面上的呈现通过逐级的归类过滤,减少了错误脚本的生成。另外,还提供导入\导出脚本、一键调试的功能以及一些增删改的快捷操作。
A8、如A1所述的自动化测试方法,其中所述事件动作包括在待测移动终端的点击事件动作、长按事件动作、滑动事件动作、打开事件动作中的至少一个。
A9、如A3所述的自动化测试方法,所述计算设备中存储有脚本编辑器,适于展示所述获取到的界面截图、所述各级输入框,以及所述可视化按钮。
B11、如B10所述的自动化测试装置,还包括:
可视化按钮编辑模块,适于通过可视化按钮的形式插入或删除一个事件动作及其脚本、导入已有的测试脚本,以及导出所述生成的测试脚本。
B12、如B11所述的自动化测试装置,还包括:
输入框编辑模块,适于响应于测试者在一级输入框中所选择的事件动作,从测试用例库中提取所述事件动作的对象,并将其展现在二级输入框的下拉菜单中;以及
根据测试者在各级输入框中的选择,生成相应的测试脚本。
B13、如B10中所述的自动化测试装置,还包括:
脚本调试模块,适于将所述单个或多个事件动作所对应的测试脚本发送到待测移动终端,并使之开始执行相应测试;以及
在所述计算设备的界面截图区域,判断所述测试脚本是否执行正确。
B14、如B10所述的自动化测试装置,其中所述脚本生成模块还适于根据预定文本规则生成该事件动作所对应的测试命令文本,其中计算设备中预先存储有所述测试命令文本所对应的测试脚本。
B15、如B10所述的自动化测试装置,其中所述脚本发送模块还适于向待测移动终端发送脚本执行指令,使之开始执行所述测试脚本。
B16、如B10所述的自动化测试装置,其中所述事件动作包括点击事件动作、长按事件动作、滑动事件动作、打开事件动作中的至少一个。
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (15)
1.一种自动化测试方法,适于在计算设备中执行,所述计算设备中存储有脚本编辑器,所述脚本编辑器适于展示所述计算设备获取到的移动终端的界面截图、各级输入框和可视化按钮,该方法包括:
实时获取待测移动终端的界面截图,并将其动态展示在所述计算设备的展示页面中;
接收测试者通过鼠标或按键在界面截图区域的输入操作;
确定所述输入操作的类型和参数;
根据移动终端触摸屏的输入检测规则以及接收到的输入操作的类型和参数,确定该输入操作所模拟的事件动作;
生成所述事件动作所对应的测试脚本;
将所述测试脚本发送到待测移动终端,并使之同步执行该测试脚本;
其中,该方法还包括:响应于测试者在一级输入框中所选择的事件动作,从测试用例库中提取所述事件动作的对象,并将其展现在二级输入框的下拉菜单中,以及根据测试者在各级输入框中的选择,生成与之对应的自动化测试脚本;其中所述事件动作包括操作事件、控制事件和验证事件,相应地一级输入框包括操作栏、控制栏和验证栏。
2.如权利要求1所述的自动化测试方法,还包括:
通过可视化按钮的形式插入或删除一个事件动作及其脚本、导入已有的测试脚本,以及导出最终生成的测试脚本。
3.如权利要求1所述的自动化测试方法,还包括:
将单个或多个事件动作所对应的测试脚本发送到待测移动终端,并使之开始执行相应测试;以及
在所述计算设备的界面截图区域,判断所述测试脚本是否执行正确。
4.如权利要求1所述的自动化测试方法,其中所述生成该事件动作所对应的测试脚本的步骤还包括:
根据预定文本规则生成该事件动作所对应的测试命令文本,
其中计算设备中预先存储有所述测试命令文本所对应的测试脚本。
5.如权利要求1所述的自动化测试方法,还包括:
向待测移动终端发送脚本录制指令;
接收测试者在移动终端中所进行的输入操作,确定该输入操作的参数和类型;
根据接收到的输入操作的参数和类型,生成其对应的测试脚本。
6.如权利要求1所述的自动化测试方法,其中所述将测试脚本发送到待测移动终端,并使之同步执行该测试脚本的步骤还包括:
向待测移动终端发送脚本执行指令,使之开始执行所述测试脚本。
7.如权利要求1所述的自动化测试方法,其中所述事件动作包括在待测移动终端的点击事件动作、长按事件动作、滑动事件动作、打开事件动作中的至少一个。
8.一种自动化测试装置,适于驻留在计算设备中,所述计算设备中存储有脚本编辑器,适于展示所述计算设备获取到的移动终端的界面截图、各级输入框和可视化按钮,该装置包括:
界面获取模块,适于实时获取待测移动终端的界面截图,并将其动态展示在所述计算设备的页面中;
输入操作确定模块,适于接收测试者通过鼠标或按键在界面截图区域的输入操作,并确定该输入操作的类型和参数;
脚本生成模块,适于根据移动终端触摸屏的输入检测规则以及接收到的输入操作的类型和参数,确定该输入操作所模拟的事件动作,并生成该事件动作所对应的测试脚本;
脚本发送模块,适于将所述测试脚本发送到待测移动终端,并使之同步执行所述测试脚本;以及
输入框编辑模块,适于响应于测试者在一级输入框中所选择的事件动作,从测试用例库中提取所述事件动作的对象,并将其展现在二级输入框的下拉菜单中,以及根据测试者在各级输入框中的选择,生成与之对应的自动化测试脚本;其中所述事件动作包括操作事件、控制事件和验证事件,相应地一级输入框包括操作栏、控制栏和验证栏。
9.如权利要求8所述的自动化测试装置,还包括:
可视化按钮编辑模块,适于通过可视化按钮的形式插入或删除一个事件动作及其脚本、导入已有的测试脚本,以及导出所述生成的测试脚本。
10.如权利要求8中所述的自动化测试装置,还包括:
脚本调试模块,适于将单个或多个事件动作所对应的测试脚本发送到待测移动终端,并使之开始执行相应测试;以及
在所述计算设备的界面截图区域,判断所述测试脚本是否执行正确。
11.如权利要求8所述的自动化测试装置,其中所述脚本生成模块还适于根据预定文本规则生成该事件动作所对应的测试命令文本,其中计算设备中预先存储有所述测试命令文本所对应的测试脚本。
12.如权利要求8所述的自动化测试装置,其中所述脚本发送模块还适于向待测移动终端发送脚本执行指令,使之开始执行所述测试脚本。
13.如权利要求8所述的自动化测试装置,其中所述事件动作包括点击事件动作、长按事件动作、滑动事件动作、打开事件动作中的至少一个。
14.一种脚本编辑器,包括如权利要求8-13中任一项所述的自动化测试装置,适于展示所述获取到的界面截图、所述生成的测试命令文本、所述各级输入框,以及所述可视化按钮。
15.一种计算设备,包括如权利要求14所述的脚本编辑器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610155897.4A CN105843734B (zh) | 2016-03-18 | 2016-03-18 | 一种自动化测试方法、装置及计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610155897.4A CN105843734B (zh) | 2016-03-18 | 2016-03-18 | 一种自动化测试方法、装置及计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105843734A CN105843734A (zh) | 2016-08-10 |
CN105843734B true CN105843734B (zh) | 2019-03-15 |
Family
ID=56588351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610155897.4A Active CN105843734B (zh) | 2016-03-18 | 2016-03-18 | 一种自动化测试方法、装置及计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105843734B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106339452B (zh) * | 2016-08-25 | 2019-09-17 | 北京小米移动软件有限公司 | 事件响应方法及装置 |
CN106445348A (zh) * | 2016-10-12 | 2017-02-22 | 深圳市金立通信设备有限公司 | 一种触屏方法及终端 |
CN106528420B (zh) * | 2016-11-07 | 2019-04-05 | 中国工商银行股份有限公司 | 一种软件界面的自动化测试方法及装置 |
CN108132724A (zh) * | 2016-11-30 | 2018-06-08 | 中兴通讯股份有限公司 | 一种触摸屏调试检测方法及装置 |
CN108459848B (zh) * | 2017-02-20 | 2021-12-14 | 深圳市北斗智研科技有限公司 | 一种应用于Excel软件的脚本获取方法及系统 |
CN108491326B (zh) * | 2018-03-21 | 2024-02-02 | 重庆金融资产交易所有限责任公司 | 测试行为重组方法、装置及存储介质 |
CN108509342A (zh) * | 2018-04-04 | 2018-09-07 | 成都中云天下科技有限公司 | 一种精准快速的App自动化测试方法 |
CN108628741B (zh) * | 2018-04-10 | 2021-10-01 | 平安科技(深圳)有限公司 | 网页页面测试方法、装置、电子设备和介质 |
CN109032947A (zh) * | 2018-07-27 | 2018-12-18 | 广州视源电子科技股份有限公司 | 用于操作系统的测试方法、装置、设备和存储介质 |
CN109189682B (zh) * | 2018-08-27 | 2022-03-22 | 北京云测信息技术有限公司 | 一种脚本录制方法和装置 |
CN109634492A (zh) * | 2018-10-23 | 2019-04-16 | 中国平安人寿保险股份有限公司 | 下拉框指定值输入方法、装置、及计算机可读存储介质 |
CN109871326B (zh) * | 2019-02-13 | 2022-03-15 | 北京云测信息技术有限公司 | 一种脚本录制的方法和装置 |
CN112069051A (zh) * | 2019-06-11 | 2020-12-11 | 福建天泉教育科技有限公司 | 一种push耗时的测试方法及终端 |
CN111221723B (zh) * | 2019-10-28 | 2023-11-24 | 东软集团股份有限公司 | 测试记录生成方法、装置、存储介质及电子设备 |
CN111061601B (zh) * | 2019-12-18 | 2023-11-17 | 南京富士通南大软件技术有限公司 | 一种产品hmi测试模拟系统 |
CN111538661A (zh) * | 2020-04-24 | 2020-08-14 | 北京思特奇信息技术股份有限公司 | 一种基于appium进行可视化脚本录制编排执行的方法 |
CN112612699B (zh) * | 2020-12-21 | 2022-10-25 | 上海金途信息科技有限公司 | 一种hid人机交互场景用例通用自动化测试设备 |
CN113342667A (zh) * | 2021-06-18 | 2021-09-03 | 杭州网易再顾科技有限公司 | 数据处理方法、装置、电子设备以及计算机可读存储介质 |
CN113657651A (zh) * | 2021-07-27 | 2021-11-16 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 基于深度迁移学习的柴油车排放预测方法、介质及设备 |
CN115495807B (zh) * | 2022-09-26 | 2024-05-10 | 上海弘玑信息技术有限公司 | 一种自动绘图方法及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799511A (zh) * | 2012-06-30 | 2012-11-28 | 成都西可科技有限公司 | 基于Android的自动化测试方法及测试系统 |
CN103268289A (zh) * | 2013-06-18 | 2013-08-28 | 北京云测信息技术有限公司 | 在移动终端上录制应用测试脚本的方法和系统 |
CN104461894A (zh) * | 2014-12-17 | 2015-03-25 | 用友软件股份有限公司 | 安卓软件的操作录制装置和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI510913B (zh) * | 2013-11-12 | 2015-12-01 | Inst Information Industry | 測試裝置及其測試方法 |
-
2016
- 2016-03-18 CN CN201610155897.4A patent/CN105843734B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799511A (zh) * | 2012-06-30 | 2012-11-28 | 成都西可科技有限公司 | 基于Android的自动化测试方法及测试系统 |
CN103268289A (zh) * | 2013-06-18 | 2013-08-28 | 北京云测信息技术有限公司 | 在移动终端上录制应用测试脚本的方法和系统 |
CN104461894A (zh) * | 2014-12-17 | 2015-03-25 | 用友软件股份有限公司 | 安卓软件的操作录制装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105843734A (zh) | 2016-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105843734B (zh) | 一种自动化测试方法、装置及计算设备 | |
Amalfitano et al. | A general framework for comparing automatic testing techniques of Android mobile apps | |
US9754059B2 (en) | Graphical design verification environment generator | |
US9703681B2 (en) | Performance optimization tip presentation during debugging | |
CN106471476B (zh) | 用于对经优化代码的编辑并继续以及增强的经优化调试的技术 | |
US8271950B2 (en) | Test generation from captured user interface status | |
US20040225919A1 (en) | Event driven graph explorer for model-based testing of software | |
US20140258989A1 (en) | Method and system for automating a scene-based test | |
CN100514296C (zh) | 自动化仿真方法及系统 | |
EP2850529A2 (en) | System and methods for generating and managing a virtual device | |
US20070061641A1 (en) | Apparatus and method for generating test driver | |
US20140214396A1 (en) | Specification properties creation for a visual model of a system | |
Espada et al. | Performance analysis of spotify® for Android with model‐based testing | |
Bowen et al. | Generating obligations, assertions and tests from UI models | |
Xue | Automated mobile apps testing from visual perspective | |
JP5109143B2 (ja) | 検証装置および検証方法 | |
Patil et al. | Enhanced UI Automator Viewer with improved Android accessibility evaluation features | |
Bowen et al. | UI-driven test-first development of interactive systems | |
CN109101414B (zh) | 基于埋点数据的海量ui测试生成方法及其装置 | |
US10579761B1 (en) | Method and system for reconstructing a graph presentation of a previously executed verification test | |
Dickinson | Unity 2017 Game Optimization: Optimize All Aspects of Unity Performance | |
Jiang et al. | A systematic study on factors impacting gui traversal-based test case generation techniques for android applications | |
Ahmed et al. | An automated testing framework for smart tv apps based on model separation | |
CN106021004A (zh) | 用户行为模拟单元、测试系统、以及测试方法 | |
Elouali et al. | A model-based approach for engineering multimodal mobile interactions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230106 Address after: 710000 Room 10401, Unit 1, Building 2, No. 31, Zhangbaer Road, High-tech Zone, Xi'an City, Shaanxi Province Patentee after: Shaanxi Shengsuo Jinke Electronic Technology Co.,Ltd. Address before: 361009 112a, Pioneer Building, Pioneer Park, torch hi tech Zone, Xiamen City, Fujian Province Patentee before: Xiamen Meitu Mobile Technology Co.,Ltd. |