CN105335283A - 终端设备中的应用测试方法及装置 - Google Patents

终端设备中的应用测试方法及装置 Download PDF

Info

Publication number
CN105335283A
CN105335283A CN201410377367.5A CN201410377367A CN105335283A CN 105335283 A CN105335283 A CN 105335283A CN 201410377367 A CN201410377367 A CN 201410377367A CN 105335283 A CN105335283 A CN 105335283A
Authority
CN
China
Prior art keywords
target widget
action events
intended application
test script
application
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.)
Granted
Application number
CN201410377367.5A
Other languages
English (en)
Other versions
CN105335283B (zh
Inventor
李子乐
陈晓亮
苏迪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201410377367.5A priority Critical patent/CN105335283B/zh
Publication of CN105335283A publication Critical patent/CN105335283A/zh
Application granted granted Critical
Publication of CN105335283B publication Critical patent/CN105335283B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了终端设备中的应用测试方法及装置,其中所述方法包括,启动待测目标应用;接收录制测试脚本的指令;监控对所述目标应用进行操作的操作事件;确定所述目标应用中处理所述操作事件的目标控件;获取所述目标控件的控件信息;将所述操作事件与对应的所述控件信息保存为测试脚本中预置格式的序列条目,以便在对所述目标应用进行再次测试时,通过对所述测试脚本中的所述序列条目进行回放完成测试。通过该方法,可以更准确可靠地完成对终端设备中的应用进行测试。

Description

终端设备中的应用测试方法及装置
技术领域
本申请涉及移动终端应用测试技术领域,特别是涉及移动终端设备中应用的测试方法及装置。
背景技术
随着移动终端设备制造技术的不断发展,各种移动终端设备的智能化程度、便携性等都有了前所未有的提高,诸如智能手机等移动终端设备得到了大规模的普及。如今的移动终端设备,可以运行相对复杂的操作系统,同时,越来越多的开发者投入到移动终端设备应用软件的开发中,为各种设备平台开发了数量庞大的软件应用,人们通过移动终端设备中各种功能丰富的软件应用,可以进行网上浏览、聊天、购物、游戏等等活动。
软件测试是软件应用开发过程中不可或缺的重要环节,对于移动终端中软件应用的开发亦是如此。通过软件测试,可以了解软件应用是否存在错误,其运行过程或运行结果是否符合预期要求,软件应用所能承受的压力等等。根据测试目标的不同,移动终端的软件应用测试可以包括以下几个基本方面:UI测试、功能模块测试、交叉事件测试、压力测试、安全性测试、兼容性测试、易用性/用户体验测试等。移动终端的软件应用的测试工作,为开发出相对理想的移动终端软件应用提供了保证。
但是,随着移动终端软件应用的代码量越来越大,复杂度越来越高,传统的人工测试方法已经很难获得满意和全面的测试结果,而且由于移动终端设备种类众多,搭载的操作系统以及多种硬件设备规格不一,尤其是搭载Android操作系统的移动终端设备,具有更为严重的操作系统和机型碎片化问题。如果测试项目需要覆盖尽量多的系统版本或机型,则需要付出大量的测试时间和人力物力成本,测试时间过长也会增加研发周期,不利于软件产品或者更新的及时发布。
因此,提供一种易用性强,适用性更好的移动终端设备中应用的测试方法是本领域技术人员亟需解决的技术问题。
发明内容
本申请提供了终端设备中的应用测试方法及装置,实现了一种易用性更强,适用性更好,可靠性更高的终端设备中的应用测试方法。
本申请提供了如下方案:
一种终端设备中的应用测试方法,包括:
启动待测目标应用;
接收录制测试脚本的指令;
监控对所述目标应用进行操作的操作事件;
确定所述目标应用中处理所述操作事件的目标控件;
获取所述目标控件的控件信息;
将所述操作事件与对应的所述控件信息保存为测试脚本中预置格式的序列条目,以便在对所述目标应用进行再次测试时,通过对所述测试脚本中的所述序列条目进行回放完成测试。
一种终端设备中的应用测试方法,包括:
启动待测目标应用;
接收回放指定测试脚本的指令;
从所述测试脚本中读取序列条目,并从所述序列条目中获取控件信息以及对应的操作事件信息;
根据所述控件信息查找到匹配的目标控件;
通过调用系统函数对所述匹配的目标控件执行对应的操作事件。
一种终端设备中的应用测试装置,包括:
第一应用启动单元,用于启动待测目标应用;
第一指令接收单元,用于接收录制测试脚本的指令;
操作事件监控单元,用于监控对所述目标应用进行操作的操作事件;
目标控件确定单元,用于确定所述目标应用中处理所述操作事件的目标控件;
控件信息获取单元,用于获取所述目标控件的控件信息;
测试脚本保存单元,用于将所述操作事件与对应的所述控件信息保存为测试脚本中预置格式的序列条目,以便在对所述目标应用进行再次测试时,通过对所述测试脚本中的所述序列条目进行回放完成测试。
一种终端设备中的应用测试装置,包括:
第二应用启动单元,用于启动待测目标应用;
第二指令接收单元,用于接收回放指定测试脚本的指令;
脚本数据读取单元,用于从所述测试脚本中读取序列条目,并从所述序列条目中获取控件信息以及对应的操作事件信息;
目标控件查找单元,用于根据所述控件信息查找到匹配的目标控件;
操作事件测试单元,通过调用系统函数对所述匹配的目标控件执行对应的操作事件。
根据本申请提供的具体实施例,本申请公开了以下技术效果:
通过本申请实施例,可以在一部设备中录制对目标应用的测试脚本,在录制测试脚本的过程中,对目标应用的操作事件,以及处理操作事件的目标控件的信息进行对应记录,从而形成测试脚本,测试脚本可以在多个终端设备中执行,从而进行自动化的测试,在回放过程中,只需要逐条读取脚本中的序列条目,根据条目中的控件信息准确地查找到相匹配的目标控件,将操作事件传输到目标控件,由目标控件准确地执行,从而完成自动化测试过程,实现了一种易用性更强,适用性更好,可靠性更高的终端设备中的应用测试方法。
当然,实施本申请实施例的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例一提供的方法的流程图;
图2是本申请实施例二提供的方法的流程图;
图3是本申请实施例提供的第一装置的示意图;
图4是本申请实施例提供的第二装置的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供的终端设备中的应用测试方法,可以分为测试脚本录制和回放两个大的步骤。其中在录制测试脚本的过程中,仅需一次成功录制形成脚本文件即可,所形成的脚步文件,又可以加载到本设备或其他终端设备中进行重复的自动调用,通过“回放”脚本文件,达到在移动设备中自动对应用进行测试的目的。移动终端的应用测试可以通过在移动终端安装的测试软件来实现,测试软件可以实现收集系统信息,调用测试模块,启动被测应用程序,加载和执行测试脚本,调用系统资源,管理测试流程等功能。
实施例一
参见图1,为本申请实施例一提供的终端设备中的应用测试方法的流程图,主要对录制的过程进行介绍,如图所示,该方法可以包括以下步骤:
S101:启动待测目标应用;
为了获取对目标应用进行测试所使用的脚本文件,首先可以对测试过程进行录制生成脚本文件。在录制测试脚本文件的过程中,首先可以在终端设备中启动待测的目标应用。具体的,在终端设备中可以安装测试管理软件,当需要对目标应用进行测试脚本录制时,可以通过测试管理软件启动目标待测应用。例如,在搭载Android操作系统的终端设备中,对于Android操作系统下的目标应用,可以通过Android操作系统测试环境的Instrumentation工具启动待测目标应用。Instrumentation工具是Android提供的测试工具,它针对Android的环境,扩展了业内标准的JUnit测试框架。允许对应用程序进行多方面的更为复杂的测试。其主要特征有:可以访问Android系统对象;可以控制和测试应用程序;可模拟Android系统的常用对象;支持以Eclipse的ADT插件和命令行方式管理测试工程。通过Instrumentation工具可以精确控制应用程序。可以在主程序启动之前,创建模拟的系统对象,例如Context对象;可以控制应用程序的多个生命周期;发送UI事件给应用程序;在执行期间检查程序状态等等。在本申请实施例提供的方法中,对于Android操作系统下的目标应用,可以通过Instrumentation工具启动。
S102:接收录制测试脚本的指令;
在待测目标应用启动完成后,可以接收录制测试脚本的指令,进而开始测试脚本的录制。如在终端设备中安装有测试管理软件的情况下,可以在测试工作开始时启动测试管理软件,在测试管理软件中加载可被测试的目标应用的列表,当测试人员选定待测目标应用后,可以启动待测目标应用,并在待测目标应用启动完成后,提示目标应用启动完成。如果是录制脚本的操作,可以在用户人员选择录制功能后,即发出启动录制测试脚本的指令后,接收该录制测试脚本的指令。
S103:监控对所述目标应用进行操作的操作事件;
在接收到录制测试脚本的指令后,可以启动测试脚本的录制过程。在录制测试脚本的过程中,一方面可以监控对目标应用进行操作的操作事件。不同的设备或不同的系统,对用户输入等操作事件的响应或处理的方式各有不同,因而在不同的设备或系统中,对目标应用进行操作的操作事件的监控方式也可以各不相同。例如,在大部分移动终端设备中,所搭载的输入设备主要包括触摸屏,一定数量的系统按键(如HOME键、返回键)等,对应用的操作主要是通过触屏和系统按键来实现。对于这类移动设备,可以监控在触屏和系统按键触发的操作事件。
对于通过系统按键触发的操作事件,可以对通过监听的方式实现监控,如可以在操作系统中注册系统按键事件监听器,通过所注册的系统按键事件监听器,监控通过系统按键对目标应用进行操作的操作事件。而对于通过触屏等输入设备触发的操作事件,则可以通过对操作事件的截取来实现监控。例如在一些终端设备(例如搭载Android操作系统的终端设备)中,软件应用的用户界面是一种层次化的界面,界面的各个视图表示为一种树型的数据结构,通过触屏对目标应用进行操作的操作事件,首先会被位于用户界面最顶层的视图获得,如果最顶层视图不能处理该操作事件,则该操作事件将会被以透传的形式逐层向下层视图分发,直至某一层视图处理了该操作事件。在这种设备中实现监控对目标应用进行操作的操作事件时,可以在目标应用的最顶层视图下添加自定义浮层,通过自定义浮层,监控对目标应用的用户界面内的界面元素进行操作的操作事件。例如,在待测目标应用的最顶层界面PhoneWindow$DecorView下增加自定义浮层,通过自定义浮层注册OnTouchListener监听器,监听通过触屏等输入设备触发的操作事件。
S104:确定所述目标应用中处理所述操作事件的目标控件;
在本申请实施例提供的方法中,所要实现的测试用的测试脚本中主要包括了两方面的信息,其中之一是在待测应用中进行操作的过程中进行操作的操作事件,例如,在待测应用的用户界面中进行点击的操作事件,通过系统按键触发的操作事件(如通过系统的返回按键触发的操作事件)等等;另一方面,测试脚本中还包括了执行操作事件的目标控件的信息。这样当利用录制的测试脚本进行目标应用的测试时,只需解析出脚本中的操作事件,以及执行该事件的对应的控件的信息,进而利用控件的信息调用该控件并执行操作事件对应的动作即可,可以提高测试过程的效率,以及调用控件的准确性,进而保证了测试结果的可靠性。
在步骤S103中,通过监控的方式获取到了对目标应用进行操作的操作事件,在本步骤S104,可以进一步确定执行该操作事件的目标控件,即确定目标应用中处理该操作事件的目标控件。具体实现时,可以首先对通过输入设备输入的操作指令进行拦截,进而对操作指令的传递过程进行分析,确定出执行操作指令的对应的目标控件。在终端设备处理输入事件时,主要包括了两种处理目标,一个是处理指示操作事件开始的操作指令,例如,键盘按下触发的操作指令,在触屏上按下触发的操作指令,在触屏上按下并开始移动的操作指令等等;另一个处理的目标是指示操作事件结束的操作指令,例如按键弹起触发的操作指令,手指从触屏上抬起触发的操作指令等等。在确定目标应用中处理操作事件的目标控件时,首先,可以在监控到用于指示操作事件开始或者进行中的第一操作指令时,透传该第一操作指令,以便在目标应用中调用对应的控件处理该第一操作指令;然后,在监控到用于指示操作事件结束的第二操作指令时,拦截该第二操作指令,此时,因为没有收到用于指示操作事件结束的第二操作指令,真正用于处理操作指令的控件并会等待第二操作指令的到达,但用于处理操作指令的控件会修改自身的特定标识,使处理操作指令的控件本身具有与其他控件不同的处理标识,此时,可以通过递归调用的方式查找带有处理标识的控件,进而在查找到带有处理标识的控件后,将该控件确定为处理该操作事件的目标控件,并在获取到目标控件的控件信息后,将所述第二操作指令进行透传,以便该控件完成执行所有操作指令。
例如,在Android操作系统中,可以截取用于指示操作事件开始或者进行中的第一操作指令,比如触屏按下触发的操作指令MotionEvent.ACTION_DOWN指令,或者在触屏上按下并开始移动的操作指令MotionEvent.ACTION_MOVE等等。透传该第一操作指令,以便在目标应用中调用对应的目标控件处理该第一操作指令,目标控件在接收到第一操作指令后,可修改自身的处理标识状态,此时通过递归调用的方式,可以查找目标应用的视图的树型数据结构,通过处理标识的状态,判断真正用于处理操作指令的控件,在确定真正用于处理操作指令的控件后,将用于指示操作事件结束的第二操作指令透传给该控件,例如表示触摸输入结束的MotionEvent.ACTION_UP操作指令,以便该控件完成执行所有操作指令。具体在查询控件的处理标识状态时,可以使用JAVA反射调用的方式寻找和确定最终处理该操作的控件。
S105:获取所述目标控件的控件信息;
在终端设备的应用中,应用一般由多个控件组成,每个控件作为一个组成模块,都有唯一的标识信息。例如,每个控件的可以对应唯一的索引index,可以以这种唯一的标识信息作为目标控件的控件信息。在对目标应用进行测试脚本的录制时,可以将操作事件与对应的控件信息对应存储,这样,在使用录制好的测试脚本进行应用测试时,只需根据控件信息向相应的控件发送模拟的操作事件即可对相应的控件进行调用和测试。在本步骤中,可以获取目标应用中处理操作事件的目标控件的控件信息,以便将操作事件和对应的控件信息保存到测试脚本中。
在获取目标控件的控件信息的过程中,还可以参考目标控件的类型信息。控件类型包括了操作系统原生的控件类型,或者Web视图类型。在终端设备上运行的应用,可以分为本地化应用NativeApp,混合型应用HybridAPP,以及基于WEB的应用WebApp。其中混合型应用兼具了本地化应用的良好用户交互体验以及WebApp跨平台开发的优势,因而在许多主流软件的开发中都使用了这种类型的架构。在混合型应用中,既有原生语言编写的本地native原生控件,也有使用网页语言编写的WebView控件。对于两种不同类型的控件,在获取控件信息的过程中可以采用不同的方法。
对于不同的控件,在其获取控件信息的过程中,首先需要获取其控件类型,控件类型主要包括了操作系统原生的控件类型、WebView控件类型。在步骤S104中,通过递归调用的方式可以查找带有处理标识的控件,并确定为处理当前操作事件的目标控件,同时还可以将目标控件的信息返回,例如,返回目标控件的名称。在本步骤S105中,可以根据返回的目标控件的信息。例如,返回的目标控件的名称来确定目标控件的类型。
例如,当返回的目标控件的名称为:
com.taobao.tao.homepage.control.ClickMaskRoundCornerImageView
此时可以确定该目标控件的类型为本地原生控件ImageView,可以将“ImageView”作为该目标控件的类型信息。对于本地原生控件,只需获取其控件类型以及索引标识作为目标控件的控件信息,进而将目标控件的控件类型以及索引标识确定为目标控件的控件信息,保存到测试脚本中即可。
又例如,当返回的目标控件的名称为:
com.taobao.tao.browser.BrowserHybridWebView
此时可以确定该目标控件的类型为WebView类型,对于WebView类型的目标控件,相对与本地原生类型的控件要采取不同的方式获取控件信息。当确定目标控件的类型为WebView类型时,可以将JavaScript脚本注入到该WebView类型的目标控件中,并在该JavaScript脚本中注册常见的操作事件处理代码,如window.onclick,document.onchange,window.onscroll等操作事件处理代码,以window.onclick为例,该事件处理代码的原型可以是:
window.onclick=function(e){…}
由于混合型应用中WebView类型的内容在处理原理和过程上,与浏览器网页的处理过程类似,通过JavaScript脚本中注册的常见的操作事件处理代码,可以获取对WebView类型的目标控件对应的DOM元素,或者对WebView类型的目标控件本身进行操作的操作事件,同时,还可以通过注入的JavaScript脚本,获取WebView类型的目标控件对应的DOM元素的路径信息xpath,索引类型,索引标识等一系列用于标识该目标控件的控件信息,这些控件信息可以便于准确定位该WebView类型的目标控件。进而可以将目标控件的控件类型、索引类型、索引标识以及路径信息确定为目标控件的控件信息,保存到测试脚本中。
在获取目标控件的控件信息的过程中,以上所列举的各种控件信息只是示例性的,在实际应用中,任何可以唯一标识目标控件的信息,或者可以定位目标控件的信息,都可以作为目标控件的控件信息进行获取,此外,一些具有参考价值的目标控件的附加信息也可以进行获取和记录,本申请对此并没有限制。
S106:将所述操作事件与对应的所述控件信息保存为测试脚本中预置格式的序列条目,以便在对所述目标应用进行再次测试时,通过对所述测试脚本中的所述序列条目进行回放完成测试。
在获取到了目标控件的控件信息后,可以将操作事件与对应的控件信息保存为测试脚本中的条目。在测试脚本中,各操作步骤所执行的动作,以及各步骤执行的先后顺序,可以通过预置格式的序列条目来标识。在利用测试脚本进行应用的测试时,只需依次读取测试脚本中的序列条目,即可自动完成其所标识的一系列测试动作,从而提高应用测试的自动化程度和执行效率。在将操作事件和对应的控件信息保存为测试脚本的序列条目时,所使用的数据格式可以是JSON格式,JSON格式的数据,以其独立性强,读写方便,易于理解等特性而得到广泛应用,在具体应用时,较常用的JSON格式的数据包括JSONArray(JSON数组)和JSONObject(JSON对象),其中以JSONObject为例,JSONObject表示为“{}”内的内容,数据结构为{key:value,key:value,...}的键值对结构。以JSONObject结构存储操作事件和对应的控件信息组成的序列条目时,可以参考如下示例:
示例一、目标控件为本地原生控件时:
{"action":"click","activity":"com.taobao.tao.Welcome","index":"18","isLongClick":"false","sleep":13271,"view":"ImageView"}
其中,"action":"click"键值对表示操作事件为单击;"index":"18"键值对表示该控件的索引标识为18;"view":"ImageView"键值对表示该控件的控件类型为系统原生的ImageView类型控件。
示例二、目标控件为WebView类型时:
{"action":"click","activity":"com.taobao.tao.BrowserActivity","className":"","id":"","index":"0","name":"null","ridInt":"2131230857","sleep":"41400","tagName":"IMG","text":"","value":"null","view":"HybridWebView","xpath":"/html/body/div[2]/ul/li/div/img"}
其中,"action":"click"键值对表示操作事件为单击;"index":"0"键值对表示该控件的索引标识为0;"ridInt":"2131230857"键值对表示…;键值对表示该控件的路径信息xpath。
进一步的,在测试脚本的录制过程中,各种操作之间通常需要有一定的事件间隔,以便目标应用进行指令执行,加载和刷新页面等操作。在利用测试脚本进行回放以实现自动测试时,同样需要在相邻的操作之间间隔一定的时间,以便给目标应用一定的响应时间。因而在录制的过程中,还可以获取从上一操作事件结束到当前操作事件开始之间的时间间隔;将两者之间的时间间隔信息保存测试脚本中预置格式的序列条目中,以便在对测试脚本中的序列条目进行回放时,按照时间间隔确定各个序列条目执行的时间间隔。如上述示例一中的JSONObject结构的序列条目中,"sleep":13271键值对表示的时间间隔。此外,在结束时,还可以在测试脚本中添加代表录制结束的标识,以便在回放测试脚本时,当读取到结束的标识时结束测试过程。即接收到录制结束的指令时,在测试脚本中添加结束标识。结束标识可以是测试脚本末尾一条单独的预置格式的序列条目,例如,可以在测试脚本加入一条标识脚本结束的JSONObject结构的序列条目。
另外,还需要在应用执行了当前操作事件后,对用户界面的变化情况进行检测,因为在应用执行了当前操作事件后,可能会导致用户界面的变化,用户界面变化后,用户界面中全部或部分组成控件也常常发生变化,会导致监听器失效,因而在检测到用户界面发生变化或刷新后,重新进行自定义浮层的添加以及系统按键事件监听器的注册。测试用脚本在某一部设备上完成录制后,可以将录制完成的测试脚本文件上传到服务器,以便服务器根据脚本分发指令,将测试脚本分发到指定机型的目标终端设备,在所述目标终端设备中通过回放该测试脚本,完成在目标终端设备中对目标应用的测试。从而可以通过服务器/客户端模式,在一个测试脚本录制完成后,可以由服务器将测试脚本下发到多个客户端,在多部设备上对目标应用进行自动化测试,提高测试效率。
以上对本申请实施例一提供的终端设备中的应用测试方法进行了详细的介绍,通过该方法,可以在一部设备中录制对目标应用的测试脚本,在录制测试脚本的过程中,对目标用的操作事件,以及处理操作事件的目标控件的信息进行对应记录,从而形成测试脚本,测试脚本可以在多个终端设备中执行,从而进行自动化的测试,在回放过程中,只需要逐条读取脚本中的序列条目,根据条目中的控件信息准确地查找到相匹配的目标控件,将操作事件传输到目标控件,由目标控件准确地执行,从而完成自动化测试过程,实现了一种易用性更强,适用性更好,可靠性更高的终端设备中的应用测试方法。
实施例二
以上实施例一对脚本录制的过程进行了详细的介绍,下面对脚本回放的过程进行介绍。请参看图2,为本申请实施例二提供的终端设备中的应用测试方法的流程图,如图所示,该方法可以包括以下步骤:
S201:启动待测目标应用;
在通过回放测试脚本对目标应用进行自动化测试时,首先需要启动目标应用。具体实现时,在终端设备中可以安装测试管理软件,通过测试管理软件加载终端设备中安装的应用列表,当测试人员在测试列表中选择待测的目标应用后,启动该目标应用。特别的,对于Android操作系统下的目标应用,可以通过Android操作系统测试环境的Instrumentation工具启动待测目标应用。
S202:接收回放指定测试脚本的指令;
在待测目标应用启动完成后,可以接收回放指定测试脚本的指令,进而开始测试脚本的回放。在终端设备中安装有测试管理软件的情况下,可以通过测试管理软件接收回放指定测试脚本的指令。进一步的还可以自动加载或者从服务器端下载后加载用于测试的脚本文件。
S203:从所述测试脚本中读取序列条目,并从所述序列条目中获取控件信息以及对应的操作事件信息;
如前述实施例一中测试脚本的录制过程中所述,在测试脚本中保存一系列的序列条目,其中保存了操作事件以及对应的执行操作事件的控件信息。在通过回放脚本进行测试的过程中,可以从测试脚本中逐条读取其中的序列条目,并从序列条目中获取控件信息以及对应的操作事件信息。如从实施例一中示例一所示的序列条目中,可以读取的控件信息为:"index":"18"键值对表示该控件的索引标识为18;"view":"ImageView"键值对表示该控件的控件类型为系统原生的ImageView类型控件;而相应的操作事件为"action":"click"键值对表示操作事件为单击。
S204:根据所述控件信息查找到匹配的目标控件;
进而可以根据读取到的控件信息,查找应用中匹配的目标控件。如前所述,在测试脚本的序列条目中,保存有各控件的唯一性标识信息,例如控件的索引Index。可通过控件的唯一性标识,可以查找到打开的应用中相匹配的控件。
S205:通过调用系统函数对所述匹配的目标控件执行对应的操作事件。
通过上述步骤,可以启动目标应用,并根据目标控件的信息对匹配的目标控件执行对应的操作事件。这样逐条执行测试脚本中的序列条目,直到执行完脚本中的所有序列条目,或者直到出现异常。具体实现时,不同类型的控件可以使用不同的方法进行测试。在通过调用系统函数对匹配的目标控件执行对应的操作事件时,可以根据控件信息确定匹配的目标控件的控件类型,如当读取到"view":"ImageView"键值对时,则表示该控件的控件类型为系统原生的ImageView类型控件。如果控件类型为操作系统原生的控件,则可以从控件信息中获取所述目标控件的索引标识,进而以该控件的索引标识为参数,调用操作事件对应的系统函数,完成对目标控件执行对应的操作事件。此外,在根据所述控件信息确定所述匹配的目标控件的控件类型后,如果控件类型为WebView类型,则从控件信息中获取对应的Dom元素的路径信息;以该路径信息为参数,调用WebView类型控件的操作事件对应的方法,完成对匹配的WebView类型目标控件执行对应的操作事件。
此外,为了反映测试结果,在对测试脚本进行回放的过程中,可以对目标应用的界面进行截图,并按照测试脚本中序列条目的顺序保存截图结果。以便将测试结果以截图的形式保存下来,便于根据截图判断该次测试过程中应用是否正常运行。
以上对本申请实施例二提供的终端设备中的应用测试方法进行了详细的介绍,通过该方法,可以向一个或多个终端设备启动的应用分发测试脚本来执行自动化的测试,在终端设备中,可以通过读取测试脚本中的序列条目进行脚本回放,通过逐条读取脚本中的序列条目,根据序列条目中的控件信息准确地查找到相匹配的目标控件,将操作事件传输到目标控件,由目标控件地执行相应的操作,从而完成自动化测试过程,实现了一种较高易用性和可靠性的终端设备中的应用测试方法。
与本申请实施例一提供的种终端设备中的应用测试方法相对应,本申请实施例还提供了一种终端设备中的应用测试装置,如图3所示,该装置可以包括:
第一应用启动单元301,用于启动待测目标应用;
第一指令接收单元302,用于接收录制测试脚本的指令;
操作事件监控单元303,用于监控对目标应用进行操作的操作事件;
目标控件确定单元304,用于确定目标应用中处理操作事件的目标控件;
控件信息获取单元305,用于获取目标控件的控件信息;
测试脚本保存单元306,用于将操作事件与对应的控件信息保存为测试脚本中预置格式的序列条目,以便在对目标应用进行再次测试时,通过对测试脚本中的序列条目进行回放完成测试。
其中,如果目标应用为Android操作系统下的应用,第一应用启动单元301具体可以用于:
通过Android操作系统测试环境的Instrumentation工具启动待测目标应用。
对于界面元素进行操作的操作事件,操作事件监控单元303可以用于:
在目标应用的最顶层视图下填加自定义浮层,通过自定义浮层,监控对目标应用用户界面内的界面元素进行操作的操作事件。
对于通过系统按键对目标应用进行操作的操作事件,操作事件监控单元303可以用于:
在操作系统中注册系统按键事件监听器,通过系统按键事件监听器监控通过系统按键对目标应用进行操作的操作事件。
在另一种实现方式下,目标控件确定单元304具体可以用于:
监控到用于指示操作事件开始或者进行中的第一操作指令时,透传该第一操作指令,以便目标应用中调用对应的控件处理该第一操作指令;
监控到用于指示操作事件结束的第二操作指令时,拦截该第二操作指令;
通过递归调用的方式查找带有处理标识的控件;
查找到带有处理标识的控件后,将该控件确定为处理操作事件的目标控件,并在获取到目标控件的控件信息后,将第二操作指令进行透传。
获取目标控件的控件信息可以包括控件类型,控件信息获取单元305具体可以用于:
获取目标控件的控件类型;
如果控件类型为操作系统原生的控件,则获取目标控件的索引标识;
将目标控件的控件类型以及索引标识确定为目标控件的控件信息,保存到测试脚本中。
另外,控件信息获取单元305具体还可以用于:
获取目标控件的控件类型;
如果控件类型为Web视图中的Dom元素,则通过运行预置的JavaScript脚本,获取Dom元素的索引类型、索引标识以及路径信息;
将目标控件的控件类型、索引类型、索引标识以及路径信息确定为目标控件的控件信息,保存到测试脚本中。
此外,该终端设备中的应用测试装置还可以包括:
时间间隔确定单元,用于获取从上一操作事件结束到当前操作事件开始之间的时间间隔;
时间间隔信息保存单元,用于将时间间隔信息保存测试脚本中预置格式的序列条目中,以便在对测试脚本中的序列条目进行回放时,按照时间间隔确定各个序列条目执行的时间间隔。
该终端设备中的应用测试装置还可以包括:
结束标识添加单元,用于接收到录制结束的指令时,在测试脚本中添加结束标识。
在又一种实现方式下,该终端设备中的应用测试装置还可以包括:
测试脚本上传单元,用于将录制完成的测试脚本文件上传到服务器,以便服务器根据脚本分发指令,将测试脚本分发到指定机型的目标终端设备,在目标终端设备中通过回放该测试脚本,完成在目标终端设备中对目标应用的测试。
以上对该终端设备中的应用测试装置进行了详细的介绍,通过该装置,可以在一部设备中录制对目标应用的测试脚本,在录制测试脚本的过程中,对目标用的操作事件,以及处理操作事件的目标控件的信息进行对应记录,从而形成相应的测试脚本,测试脚本可以在多个终端设备中执行,从而进行自动化的测试,在回放过程中,只需要逐条读取脚本中的序列条目,根据条目中的控件信息准确地查找到相匹配的目标控件,将操作事件传输到目标控件,由目标控件准确地执行,而完成自动化测试过程,实现了一种易用性更强,适用性更好,可靠性更高的终端设备中的应用测试装置。
与本申请实施例二提供的种终端设备中的应用测试方法相对应,本申请实施例还提供了另一种终端设备中的应用测试装置,如图4所示,该装置可以包括:
第二应用启动单元401,用于启动待测目标应用;
第二指令接收单元402,用于接收回放指定测试脚本的指令;
脚本数据读取单元403,用于从测试脚本中读取序列条目,并从序列条目中获取控件信息以及对应的操作事件信息;
目标控件查找单元404,用于根据控件信息查找到匹配的目标控件;
操作事件测试单元405,通过调用系统函数对匹配的目标控件执行对应的操作事件。
对于操作系统原生的控件,目标控件查找单元404具体可以用于:
根据控件信息确定匹配的目标控件的控件类型;
如果控件类型为操作系统原生的控件,则从控件信息中获取目标控件的索引标识;
以索引标识为参数,调用操作事件对应的系统函数,完成对目标控件执行对应的操作事件。
对于WebView类型的控件,目标控件查找单元404具体可以用于::
根据控件信息确定匹配的目标控件的控件类型;
如果控件类型为Web视图中的Dom元素,则从控件信息中获取Dom元素的路径信息;
以路径信息为参数,调用Dom元素对象中操作事件对应的方法,完成对匹配的目标控件执行对应的操作事件。
该终端设备中的应用测试装置还可以包括:
截图单元,用于在对测试脚本进行回放的过程中,对目标应用的界面进行截图;
测试结果保存单元,用于按照测试脚本中序列条目的顺序保存截图结果。
以上对该终端设备中的应用测试装置进行了详细的介绍,通过该装置,可以向一个或多个终端设备启动的应用分发测试脚本来执行自动化的测试,在终端设备中,可以通过读取测试脚本中的序列条目进行脚本回放,通过逐条读取脚本中的序列条目,根据序列条目中的控件信息准确地查找到相匹配的目标控件,将操作事件传输到目标控件,由目标控件地执行相应的操作,从而完成自动化测试过程,实现了一种较高易用性和可靠性的终端设备中的应用测试装置。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本申请所提供的终端设备中的应用测试方法及装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。

Claims (16)

1.一种终端设备中的应用测试方法,其特征在于,包括:
启动待测目标应用;
接收录制测试脚本的指令;
监控对所述目标应用进行操作的操作事件;
确定所述目标应用中处理所述操作事件的目标控件;
获取所述目标控件的控件信息;
将所述操作事件与对应的所述控件信息保存为测试脚本中预置格式的序列条目,以便在对所述目标应用进行再次测试时,通过对所述测试脚本中的所述序列条目进行回放完成测试。
2.根据权利要求1所述的方法,其特征在于,所述目标应用为Android操作系统下的应用,所述启动待测目标应用,包括:
通过Android操作系统测试环境的Instrumentation工具启动所述待测目标应用。
3.根据权利要求1所述的方法,其特征在于,所述监控对所述目标应用进行操作的操作事件,包括:
在所述目标应用的最顶层视图下填加自定义浮层,通过所述自定义浮层,监控对目标应用用户界面内的界面元素进行操作的操作事件。
4.根据权利要求1所述的方法,其特征在于,所述监控对所述目标应用进行操作的操作事件,包括:
在操作系统中注册系统按键事件监听器,通过所述系统按键事件监听器监控通过系统按键对所述目标应用进行操作的操作事件。
5.根据权利要求1所述的方法,其特征在于,所述确定所述目标应用中处理所述操作事件的目标控件,包括:
监控到用于指示所述操作事件开始或者进行中的第一操作指令时,透传该第一操作指令,以便所述目标应用中调用对应的控件处理该第一操作指令;
监控到用于指示所述操作事件结束的第二操作指令时,拦截该第二操作指令;
通过递归调用的方式查找带有处理标识的控件;
查找到带有处理标识的控件后,将该控件确定为处理所述操作事件的目标控件,并在获取到目标控件的控件信息后,将所述第二操作指令进行透传。
6.根据权利要求1所述的方法,其特征在于,所述获取所述目标控件的控件信息,包括:
获取所述目标控件的控件类型;
如果所述控件类型为操作系统原生的控件,则获取所述目标控件的索引标识;
将所述目标控件的控件类型以及索引标识确定为所述目标控件的控件信息,保存到所述测试脚本中。
7.根据权利要求1所述的方法,其特征在于,所述获取所述目标控件的控件信息,包括:
获取所述目标控件的控件类型;
如果所述控件类型为Web视图中的Dom元素,则通过运行预置的JavaScript脚本,获取所述Dom元素的索引类型、索引标识以及路径信息;
将所述目标控件的控件类型、索引类型、索引标识以及路径信息确定为所述目标控件的控件信息,保存到所述测试脚本中。
8.根据权利要求1至7任一项所述的方法,其特征在于,还包括:
获取从上一操作事件结束到当前操作事件开始之间的时间间隔;
将所述时间间隔信息保存所述测试脚本中预置格式的序列条目中,以便在对所述测试脚本中的所述序列条目进行回放时,按照所述时间间隔确定各个序列条目执行的时间间隔。
9.根据权利要求1至7任一项所述的方法,其特征在于,还包括:
接收到录制结束的指令时,在所述测试脚本中添加结束标识。
10.根据权利要求9所述的方法,其特征在于,还包括:
将录制完成的测试脚本文件上传到服务器,以便服务器根据脚本分发指令,将所述测试脚本分发到指定机型的目标终端设备,在所述目标终端设备中通过回放该测试脚本,完成在所述目标终端设备中对所述目标应用的测试。
11.一种终端设备中的应用测试方法,其特征在于,包括:
启动待测目标应用;
接收回放指定测试脚本的指令;
从所述测试脚本中读取序列条目,并从所述序列条目中获取控件信息以及对应的操作事件信息;
根据所述控件信息查找到匹配的目标控件;
通过调用系统函数对所述匹配的目标控件执行对应的操作事件。
12.根据权利要求11所述的方法,其特征在于,所述通过调用系统函数对所述匹配的目标控件执行对应的操作事件,包括:
根据所述控件信息确定所述匹配的目标控件的控件类型;
如果所述控件类型为操作系统原生的控件,则从所述控件信息中获取所述目标控件的索引标识;
以所述索引标识为参数,调用所述操作事件对应的系统函数,完成对所述目标控件执行对应的操作事件。
13.根据权利要求11所述的方法,其特征在于,所述通过调用系统函数对所述匹配的目标控件执行对应的操作事件,包括:
根据所述控件信息确定所述匹配的目标控件的控件类型;
如果所述控件类型为Web视图中的Dom元素,则从所述控件信息中获取所述Dom元素的路径信息;
以所述路径信息为参数,调用所述Dom元素对象中所述操作事件对应的方法,完成对所述匹配的目标控件执行对应的操作事件。
14.根据权利要求11所述的方法,其特征在于,还包括:
在对所述测试脚本进行回放的过程中,对所述目标应用的界面进行截图;
按照测试脚本中所述序列条目的顺序保存截图结果。
15.一种终端设备中的应用测试装置,其特征在于,包括:
第一应用启动单元,用于启动待测目标应用;
第一指令接收单元,用于接收录制测试脚本的指令;
操作事件监控单元,用于监控对所述目标应用进行操作的操作事件;
目标控件确定单元,用于确定所述目标应用中处理所述操作事件的目标控件;
控件信息获取单元,用于获取所述目标控件的控件信息;
测试脚本保存单元,用于将所述操作事件与对应的所述控件信息保存为测试脚本中预置格式的序列条目,以便在对所述目标应用进行再次测试时,通过对所述测试脚本中的所述序列条目进行回放完成测试。
16.一种终端设备中的应用测试装置,其特征在于,包括:
第二应用启动单元,用于启动待测目标应用;
第二指令接收单元,用于接收回放指定测试脚本的指令;
脚本数据读取单元,用于从所述测试脚本中读取序列条目,并从所述序列条目中获取控件信息以及对应的操作事件信息;
目标控件查找单元,用于根据所述控件信息查找到匹配的目标控件;
操作事件测试单元,通过调用系统函数对所述匹配的目标控件执行对应的操作事件。
CN201410377367.5A 2014-08-01 2014-08-01 终端设备中的应用测试方法及装置 Active CN105335283B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410377367.5A CN105335283B (zh) 2014-08-01 2014-08-01 终端设备中的应用测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410377367.5A CN105335283B (zh) 2014-08-01 2014-08-01 终端设备中的应用测试方法及装置

Publications (2)

Publication Number Publication Date
CN105335283A true CN105335283A (zh) 2016-02-17
CN105335283B CN105335283B (zh) 2018-07-06

Family

ID=55285836

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410377367.5A Active CN105335283B (zh) 2014-08-01 2014-08-01 终端设备中的应用测试方法及装置

Country Status (1)

Country Link
CN (1) CN105335283B (zh)

Cited By (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104714886A (zh) * 2015-03-04 2015-06-17 惠州Tcl移动通信有限公司 一种跨进程的自动化测试录制方法及系统
CN106055442A (zh) * 2016-05-31 2016-10-26 周奇 操作重现方法及装置
CN106325889A (zh) * 2016-09-30 2017-01-11 北京奇点机智信息技术有限公司 数据处理方法及装置
CN106528420A (zh) * 2016-11-07 2017-03-22 中国工商银行股份有限公司 一种软件界面的自动化测试方法及装置
CN106681919A (zh) * 2016-12-22 2017-05-17 上海斐讯数据通信技术有限公司 一种用户界面自动化测试方法及系统
CN106681732A (zh) * 2016-12-30 2017-05-17 珠海市魅族科技有限公司 一种事件展示方法及装置
CN106776323A (zh) * 2016-12-17 2017-05-31 广州酷狗计算机科技有限公司 应用测试方法及装置
CN107025165A (zh) * 2017-03-07 2017-08-08 腾讯科技(深圳)有限公司 游戏自动化测试方法及相关装置
CN107153599A (zh) * 2017-06-14 2017-09-12 上海点融信息科技有限责任公司 一种记录以及回放用户操作的方法及设备
CN107357724A (zh) * 2017-06-27 2017-11-17 深圳市泰衡诺科技有限公司上海分公司 安卓系统中的软件自动化测试方法及装置
CN107515821A (zh) * 2016-06-17 2017-12-26 百度在线网络技术(北京)有限公司 控件测试方法和装置
CN107656816A (zh) * 2017-08-17 2018-02-02 广州视源电子科技股份有限公司 一种多端同步操作的方法和装置
CN107783867A (zh) * 2017-07-25 2018-03-09 上海壹账通金融科技有限公司 手势测试方法、装置、计算机设备和存储介质
CN107908554A (zh) * 2017-11-06 2018-04-13 珠海金山网络游戏科技有限公司 一种手机游戏的动作捕捉、录制和重演的方法和系统
CN108021494A (zh) * 2017-12-27 2018-05-11 广州优视网络科技有限公司 一种应用操作的录制方法、回放方法和相应装置
CN108399124A (zh) * 2018-02-07 2018-08-14 深圳壹账通智能科技有限公司 应用测试方法、装置、计算机设备和存储介质
CN108400901A (zh) * 2018-01-02 2018-08-14 深圳壹账通智能科技有限公司 应用的测试方法、终端设备及计算机可读存储介质
CN108509342A (zh) * 2018-04-04 2018-09-07 成都中云天下科技有限公司 一种精准快速的App自动化测试方法
CN108733555A (zh) * 2017-04-25 2018-11-02 中移信息技术有限公司 一种应用测试方法及装置
CN108874620A (zh) * 2018-05-23 2018-11-23 北京五八信息技术有限公司 一种应用于app的事件监听方法、装置、设备及存储介质
CN108959064A (zh) * 2017-05-25 2018-12-07 腾讯科技(深圳)有限公司 自动化测试的弹窗处理方法及装置
CN109145231A (zh) * 2017-06-27 2019-01-04 阿里巴巴集团控股有限公司 一种界面元素标识符的生成方法、装置以及电子设备
CN109344075A (zh) * 2018-10-19 2019-02-15 网宿科技股份有限公司 配置方法、测试方法、配置服务器及服务节点设备
CN109460264A (zh) * 2018-09-26 2019-03-12 深圳壹账通智能科技有限公司 应用程序中h5页面的获取方法、装置和计算机设备
CN109542553A (zh) * 2018-10-26 2019-03-29 北京慧流科技有限公司 用户界面ui元素的信息抓取方法及装置、及存储介质
CN109542534A (zh) * 2018-11-06 2019-03-29 北京指掌易科技有限公司 一种实现app自动配置的方法
CN109582556A (zh) * 2017-09-29 2019-04-05 阿里巴巴集团控股有限公司 一种应用程序在移动终端运行情况的测试方法、装置和系统
CN109634758A (zh) * 2018-12-10 2019-04-16 四川长虹电器股份有限公司 基于json文件控制事件和行为的方法及中间件平台
CN109739764A (zh) * 2018-12-29 2019-05-10 中国联合网络通信集团有限公司 一种应用程序测试方法和装置
CN109815118A (zh) * 2018-12-14 2019-05-28 深圳壹账通智能科技有限公司 数据库管理方法及装置、电子设备和计算机可读存储介质
CN109840191A (zh) * 2017-11-24 2019-06-04 南京大学 一种基于步骤提示的安卓众包测试反馈方法
CN109885477A (zh) * 2018-12-24 2019-06-14 苏州蜗牛数字科技股份有限公司 一种游戏自动化测试方法
CN109902002A (zh) * 2019-02-14 2019-06-18 浙江口碑网络技术有限公司 组合测试用例的生成方法及装置、存储介质、计算机设备
WO2019144680A1 (zh) * 2018-01-23 2019-08-01 网易(杭州)网络有限公司 自动化测试方法及装置、存储介质、电子设备
CN110221983A (zh) * 2019-06-19 2019-09-10 深圳市腾讯网域计算机网络有限公司 测试方法、装置、计算机可读存储介质和计算机设备
CN110928787A (zh) * 2019-11-22 2020-03-27 北京博睿宏远数据科技股份有限公司 自动化测试脚本录制回放方法、装置、设备和存储介质
CN111078579A (zh) * 2019-12-31 2020-04-28 河北省科学院应用数学研究所 一种Monkey测试方法、装置及终端设备
CN111124567A (zh) * 2019-12-02 2020-05-08 腾讯科技(深圳)有限公司 目标应用的操作录制方法和装置
CN112817866A (zh) * 2021-02-25 2021-05-18 北京百家科技集团有限公司 录制回放方法、装置、系统、计算机设备以及存储介质
CN112988552A (zh) * 2019-12-12 2021-06-18 腾讯科技(深圳)有限公司 应用程序测试方法、装置、设备及存储介质
CN113115032A (zh) * 2021-04-19 2021-07-13 广州欢网科技有限责任公司 智能电视设备的批量化测试方法、装置及电子设备
CN114064060A (zh) * 2021-11-29 2022-02-18 安天科技集团股份有限公司 背景流量生成方法、装置、计算设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101620564A (zh) * 2008-06-30 2010-01-06 福建升腾资讯有限公司 终端系统的录制回放模式自动化测试方法
CN101853204A (zh) * 2010-06-01 2010-10-06 华南理工大学 一种windows环境下的复杂控件测试系统
CN101930399A (zh) * 2010-08-16 2010-12-29 于秀山 一种对软件测试进行记录的方法
US20120155237A1 (en) * 2010-12-15 2012-06-21 Panasonic Corporation Optical Information Record/Playback Device
CN102841845A (zh) * 2012-07-30 2012-12-26 广东欧珀移动通信有限公司 一种Android设备软件自动测试方法
CN103019700A (zh) * 2012-11-26 2013-04-03 广东欧珀移动通信有限公司 一种自动收集用户体验信息的方法及系统
CN103164300A (zh) * 2011-12-13 2013-06-19 腾讯科技(深圳)有限公司 一种移动终端触摸屏自动测试方法及装置
CN103309797A (zh) * 2012-03-09 2013-09-18 阿里巴巴集团控股有限公司 用户界面自动化测试方法及装置
CN103928038A (zh) * 2014-04-29 2014-07-16 广东欧珀移动通信有限公司 电子设备的测试录制及回放方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101620564A (zh) * 2008-06-30 2010-01-06 福建升腾资讯有限公司 终端系统的录制回放模式自动化测试方法
CN101853204A (zh) * 2010-06-01 2010-10-06 华南理工大学 一种windows环境下的复杂控件测试系统
CN101930399A (zh) * 2010-08-16 2010-12-29 于秀山 一种对软件测试进行记录的方法
US20120155237A1 (en) * 2010-12-15 2012-06-21 Panasonic Corporation Optical Information Record/Playback Device
CN103164300A (zh) * 2011-12-13 2013-06-19 腾讯科技(深圳)有限公司 一种移动终端触摸屏自动测试方法及装置
CN103309797A (zh) * 2012-03-09 2013-09-18 阿里巴巴集团控股有限公司 用户界面自动化测试方法及装置
CN102841845A (zh) * 2012-07-30 2012-12-26 广东欧珀移动通信有限公司 一种Android设备软件自动测试方法
CN103019700A (zh) * 2012-11-26 2013-04-03 广东欧珀移动通信有限公司 一种自动收集用户体验信息的方法及系统
CN103928038A (zh) * 2014-04-29 2014-07-16 广东欧珀移动通信有限公司 电子设备的测试录制及回放方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张灿 等: "一种基于Android平台GUI录制回放工具的设计与实现", 《计算机应用与软件》 *

Cited By (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104714886B (zh) * 2015-03-04 2017-11-10 惠州Tcl移动通信有限公司 一种跨进程的自动化测试录制方法及系统
CN104714886A (zh) * 2015-03-04 2015-06-17 惠州Tcl移动通信有限公司 一种跨进程的自动化测试录制方法及系统
CN106055442A (zh) * 2016-05-31 2016-10-26 周奇 操作重现方法及装置
CN106055442B (zh) * 2016-05-31 2019-06-25 周奇 操作重现方法及装置
CN107515821A (zh) * 2016-06-17 2017-12-26 百度在线网络技术(北京)有限公司 控件测试方法和装置
CN107515821B (zh) * 2016-06-17 2021-08-31 百度在线网络技术(北京)有限公司 控件测试方法和装置
CN106325889A (zh) * 2016-09-30 2017-01-11 北京奇点机智信息技术有限公司 数据处理方法及装置
CN106528420A (zh) * 2016-11-07 2017-03-22 中国工商银行股份有限公司 一种软件界面的自动化测试方法及装置
CN106528420B (zh) * 2016-11-07 2019-04-05 中国工商银行股份有限公司 一种软件界面的自动化测试方法及装置
CN106776323A (zh) * 2016-12-17 2017-05-31 广州酷狗计算机科技有限公司 应用测试方法及装置
CN106776323B (zh) * 2016-12-17 2019-12-27 广州酷狗计算机科技有限公司 应用测试方法及装置
CN106681919A (zh) * 2016-12-22 2017-05-17 上海斐讯数据通信技术有限公司 一种用户界面自动化测试方法及系统
CN106681732A (zh) * 2016-12-30 2017-05-17 珠海市魅族科技有限公司 一种事件展示方法及装置
CN107025165A (zh) * 2017-03-07 2017-08-08 腾讯科技(深圳)有限公司 游戏自动化测试方法及相关装置
CN108733555A (zh) * 2017-04-25 2018-11-02 中移信息技术有限公司 一种应用测试方法及装置
CN108959064B (zh) * 2017-05-25 2022-11-08 腾讯科技(深圳)有限公司 自动化测试的弹窗处理方法及装置
CN108959064A (zh) * 2017-05-25 2018-12-07 腾讯科技(深圳)有限公司 自动化测试的弹窗处理方法及装置
CN107153599A (zh) * 2017-06-14 2017-09-12 上海点融信息科技有限责任公司 一种记录以及回放用户操作的方法及设备
CN109145231A (zh) * 2017-06-27 2019-01-04 阿里巴巴集团控股有限公司 一种界面元素标识符的生成方法、装置以及电子设备
CN107357724A (zh) * 2017-06-27 2017-11-17 深圳市泰衡诺科技有限公司上海分公司 安卓系统中的软件自动化测试方法及装置
CN107783867B (zh) * 2017-07-25 2020-02-14 深圳壹账通智能科技有限公司 手势测试方法、装置、计算机设备和存储介质
WO2019019955A1 (zh) * 2017-07-25 2019-01-31 深圳壹账通智能科技有限公司 手势测试方法、装置、计算机设备和存储介质
CN107783867A (zh) * 2017-07-25 2018-03-09 上海壹账通金融科技有限公司 手势测试方法、装置、计算机设备和存储介质
CN107656816A (zh) * 2017-08-17 2018-02-02 广州视源电子科技股份有限公司 一种多端同步操作的方法和装置
CN109582556A (zh) * 2017-09-29 2019-04-05 阿里巴巴集团控股有限公司 一种应用程序在移动终端运行情况的测试方法、装置和系统
CN109582556B (zh) * 2017-09-29 2022-04-12 阿里巴巴集团控股有限公司 应用程序在移动终端运行情况的测试方法、装置和系统
CN107908554A (zh) * 2017-11-06 2018-04-13 珠海金山网络游戏科技有限公司 一种手机游戏的动作捕捉、录制和重演的方法和系统
CN109840191B (zh) * 2017-11-24 2023-12-08 南京大学 一种基于步骤提示的安卓众包测试反馈方法
CN109840191A (zh) * 2017-11-24 2019-06-04 南京大学 一种基于步骤提示的安卓众包测试反馈方法
CN108021494A (zh) * 2017-12-27 2018-05-11 广州优视网络科技有限公司 一种应用操作的录制方法、回放方法和相应装置
CN108400901A (zh) * 2018-01-02 2018-08-14 深圳壹账通智能科技有限公司 应用的测试方法、终端设备及计算机可读存储介质
US11561887B2 (en) 2018-01-23 2023-01-24 Netease (Hangzhou) Network Co., Ltd. Test script debugging using an automated testing framework and UI rendering tree
WO2019144680A1 (zh) * 2018-01-23 2019-08-01 网易(杭州)网络有限公司 自动化测试方法及装置、存储介质、电子设备
CN108399124B (zh) * 2018-02-07 2021-04-13 深圳壹账通智能科技有限公司 应用测试方法、装置、计算机设备和存储介质
CN108399124A (zh) * 2018-02-07 2018-08-14 深圳壹账通智能科技有限公司 应用测试方法、装置、计算机设备和存储介质
CN108509342A (zh) * 2018-04-04 2018-09-07 成都中云天下科技有限公司 一种精准快速的App自动化测试方法
CN108874620A (zh) * 2018-05-23 2018-11-23 北京五八信息技术有限公司 一种应用于app的事件监听方法、装置、设备及存储介质
CN109460264A (zh) * 2018-09-26 2019-03-12 深圳壹账通智能科技有限公司 应用程序中h5页面的获取方法、装置和计算机设备
CN109344075A (zh) * 2018-10-19 2019-02-15 网宿科技股份有限公司 配置方法、测试方法、配置服务器及服务节点设备
CN109542553A (zh) * 2018-10-26 2019-03-29 北京慧流科技有限公司 用户界面ui元素的信息抓取方法及装置、及存储介质
CN109542534A (zh) * 2018-11-06 2019-03-29 北京指掌易科技有限公司 一种实现app自动配置的方法
CN109634758A (zh) * 2018-12-10 2019-04-16 四川长虹电器股份有限公司 基于json文件控制事件和行为的方法及中间件平台
CN109815118A (zh) * 2018-12-14 2019-05-28 深圳壹账通智能科技有限公司 数据库管理方法及装置、电子设备和计算机可读存储介质
CN109885477A (zh) * 2018-12-24 2019-06-14 苏州蜗牛数字科技股份有限公司 一种游戏自动化测试方法
CN109739764A (zh) * 2018-12-29 2019-05-10 中国联合网络通信集团有限公司 一种应用程序测试方法和装置
CN109902002A (zh) * 2019-02-14 2019-06-18 浙江口碑网络技术有限公司 组合测试用例的生成方法及装置、存储介质、计算机设备
CN110221983A (zh) * 2019-06-19 2019-09-10 深圳市腾讯网域计算机网络有限公司 测试方法、装置、计算机可读存储介质和计算机设备
CN110221983B (zh) * 2019-06-19 2024-01-16 深圳市腾讯网域计算机网络有限公司 测试方法、装置、计算机可读存储介质和计算机设备
CN110928787A (zh) * 2019-11-22 2020-03-27 北京博睿宏远数据科技股份有限公司 自动化测试脚本录制回放方法、装置、设备和存储介质
CN111124567A (zh) * 2019-12-02 2020-05-08 腾讯科技(深圳)有限公司 目标应用的操作录制方法和装置
CN112988552A (zh) * 2019-12-12 2021-06-18 腾讯科技(深圳)有限公司 应用程序测试方法、装置、设备及存储介质
CN112988552B (zh) * 2019-12-12 2023-06-30 腾讯科技(深圳)有限公司 应用程序测试方法、装置、设备及存储介质
CN111078579A (zh) * 2019-12-31 2020-04-28 河北省科学院应用数学研究所 一种Monkey测试方法、装置及终端设备
CN112817866A (zh) * 2021-02-25 2021-05-18 北京百家科技集团有限公司 录制回放方法、装置、系统、计算机设备以及存储介质
CN113115032A (zh) * 2021-04-19 2021-07-13 广州欢网科技有限责任公司 智能电视设备的批量化测试方法、装置及电子设备
CN114064060A (zh) * 2021-11-29 2022-02-18 安天科技集团股份有限公司 背景流量生成方法、装置、计算设备及存储介质

Also Published As

Publication number Publication date
CN105335283B (zh) 2018-07-06

Similar Documents

Publication Publication Date Title
CN105335283A (zh) 终端设备中的应用测试方法及装置
CN108595329B (zh) 一种应用测试方法、装置及计算机存储介质
US9720799B1 (en) Validating applications using object level hierarchy analysis
CN107506300B (zh) 一种用户界面测试方法、装置、服务器和存储介质
US9268672B1 (en) Automated test case generation for applications
CN110457211B (zh) 脚本性能测试方法、装置和设备及计算机存储介质
CN104598380A (zh) 一种基于控件的自动化测试方法及系统
CN105740144B (zh) 一种Android移动终端的自动化测试方法及系统
CN104639721A (zh) 在移动终端设备中提供应用程序信息的方法及装置
WO2005096153A2 (en) Automated test system for testing an application running in a windows-based environment and related methods
KR20060079080A (ko) 웹페이지의 양상을 평가하기 위한 방법 및 장치
CN110320378B (zh) 质控测试申请方法、装置、设备及计算机可读存储介质
CN109375921A (zh) 页面文件快速编译方法、装置及存储设备、计算机设备
KR20190113050A (ko) 모바일 어플리케이션 환경설정을 시험하기 위한 시험 항목 자동 생성 방법 및 시스템
CN107967207B (zh) 用户界面交互功能的测试方法和装置
CN103729293A (zh) 一种基于uml活动图的gui测试方法
CN107038117B (zh) 一种基于事件处理函数间定义-引用的web自动化测试方法
CN108121650B (zh) 一种对于页面用户界面的测试方法及装置
CN111736951A (zh) 自动驾驶的仿真方法、计算机设备、及存储介质
US11853752B2 (en) Migration of web applications between different web application frameworks
CN112231206A (zh) 应用程序测试的脚本编辑方法、计算机可读存储介质及测试平台
CN111400179A (zh) 终端应用程序交互的方法、装置、计算机设备和存储介质
CN107783867B (zh) 手势测试方法、装置、计算机设备和存储介质
EP3262504A1 (en) Application event tracing
CN104679648A (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
GR01 Patent grant
GR01 Patent grant