CN108717393B - 一种应用程序测试方法及移动终端 - Google Patents
一种应用程序测试方法及移动终端 Download PDFInfo
- Publication number
- CN108717393B CN108717393B CN201810466917.9A CN201810466917A CN108717393B CN 108717393 B CN108717393 B CN 108717393B CN 201810466917 A CN201810466917 A CN 201810466917A CN 108717393 B CN108717393 B CN 108717393B
- Authority
- CN
- China
- Prior art keywords
- test
- application program
- instruction
- script
- user
- 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
Images
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/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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)
- Telephone Function (AREA)
Abstract
本发明提供了一种应用程序测试方法及移动终端,适用于数据处理技术领域,该方法包括:移动终端根据接收到的录制回放指令,对其录制的用户的应用程序操作行为的第一测试脚本进行提取;获取第一测试脚本对应的第一测试次数,并对第一测试脚本进行解析,确定出第一测试脚本中包含的第一测试指令;查找出应用程序所包含的界面控件,并基于第一测试次数,控制界面控件执行第一测试指令对应的任务,以对应用程序进行测试。直接使用移动终端本身就可以完成对应用程序的测试,摆脱了测试场地和设备等因素的限制,极大地提升了对应用程序的测试效率,使得应用程序的测试变得简单高效。
Description
技术领域
本发明属于数据处理技术领域,尤其涉及应用程序测试方法及移动终端。
背景技术
现有的应用程序测试方法都是将移动终端与电脑端连接,利用电脑端来对移动终端进行控制,以实现对应用程序的测试。由于必须与电脑端进行连接才能进行测试,从而使得对应用程序的测试极其容易受到场地和设备等因素的限制,测试不方便效率低下。
发明内容
有鉴于此,本发明实施例提供了一种应用程序测试方法及移动终端,以解决现有技术中仅能使用电脑端实现对应用程序进行测试,使得对应用程序测试效率低下的问题。
本发明实施例的第一方面提供了一种应用程序测试方法,包括:
移动终端根据接收到的录制回放指令,对其录制的用户操作应用程序的操作行为的第一测试脚本进行提取;
获取所述第一测试脚本对应的第一测试次数,并对所述第一测试脚本进行解析,确定出所述第一测试脚本中包含的第一测试指令;
查找出所述应用程序所包含的界面控件,并基于所述第一测试次数,控制所述界面控件执行所述第一测试指令对应的任务,以对所述应用程序进行测试。
本发明实施例的第二方面提供了一种应用程序测试移动终端,所述应用程序测试移动终端包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤。
移动终端根据接收到的录制回放指令,对其录制的用户操作应用程序的操作行为的第一测试脚本进行提取;
获取所述第一测试脚本对应的第一测试次数,并对所述第一测试脚本进行解析,确定出所述第一测试脚本中包含的第一测试指令;
查找出所述应用程序所包含的界面控件,并基于所述第一测试次数,控制所述界面控件执行所述第一测试指令对应的任务,以对所述应用程序进行测试。
本发明实施例的第三方面提供了一种计算机可读存储介质,包括:存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上所述的应用程序测试方法的步骤。
本发明实施例与现有技术相比存在的有益效果是:通过移动终端预先录制用户对应用程序的操作行为并生成对应的测试脚本,再基于录制的测试脚本直接对应用程序进行测试,从而使得本发明实施例无需依赖任何其他设备,而是直接使用移动终端本身就可以完成对应用程序的测试,摆脱了测试场地和设备等因素的限制,且可以仅针对用户的需求来进行针对性测试脚本生成与测试,从而极大地提升了对应用程序的测试效率,使得应用程序的测试变得简单高效。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的应用程序测试方法的实现流程示意图;
图2是本发明实施例二提供的应用程序测试方法的实现流程示意图;
图3是本发明实施例三提供的应用程序测试方法的实现流程示意图;
图4是本发明实施例四提供的应用程序测试装置的结构示意图;
图5是本发明实施例五提供的应用程序测试移动终端的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
为了便于读者理解,此处先对本发明技术方案进行简要介绍说明:在本发明技术方案中,对移动终端的应用程序测试分为两个部分:测试前对用户操作应用程序的操作行为的录制,以及测试时对用户的操作行为的回放。
其中,对用户操作应用程序的操作行为的录制,是指用户在进行应用程序的操作时,如对视频播放应用程序进行播放、快进、快退、暂停以及停止等功能的操作时,对用户的操作行为进行记录并生成对应的测试脚本,以使得后续回放时能根据该测试脚本重复出用户的操作行为,完成对应用程序的测试。测试时对用户操作行为的回放,是指基于录制的测试脚本来对应用程序进行测试,由于测试脚本中记录了用户对应用程序的操作行为,因此,此时测试时会将用户的操作行为一一回放,使得测试时能重复用户对应用程序的操作行为,以完成对用户所需的测试,详述如下:
图1示出了本发明实施例一提供的应用程序测试方法的实现流程图,详述如下:
S101,移动终端根据接收到的录制回放指令,对其录制的用户操作应用程序的操作行为的第一测试脚本进行提取。
本发明实施例中,在利用移动终端本身完成对用户操作应用程序的操作行为的录制后,移动终端本地会存储录制得到的测试脚本,此时若用户需要对应用程序进行测试,只需要在移动终端中输入相应的录制回放指令,即可开始对应用程序的回放测试。
为了实现对用户操作行为的录制及回放测试,本发明实施例需要预先在移动终端中安装好相应的测试工具,以在移动终端中结构出相应的测试框架,如以安装包或者软件开发工具包(Software Development Kit,SDK)等形式,将Monkeyrunner或者Uiautomator等测试工具安装至移动终端。在测试工具安装完成后,用户通过在测试工具中输入录制回放指令,并由测试工具读取测试脚本,提取被测试的应用程序,再依照测试脚本对应用程序进行测试即可。
S102,获取第一测试脚本对应的第一测试次数,并对第一测试脚本进行解析,确定出第一测试脚本中包含的第一测试指令。
其中,测试次数是指此次测试重复执行测试脚本的次数。由于在对应用程序进行测试时,单次测试可能无法很好地确定出应用程序中是否存在缺陷,如应用程序的稳定性需要多次测试才能得出一个较为可靠的结果,因此,在本发明实施例中需要对测试脚本设置对应的测试次数,以保证对应用程序的有效测试。其中,测试次数可由用户自行设定,也可使用预先设置的默认值,如可以设置预设默认值为2次,若用户没有对测试次数进行设置,则直接使用该默认值。测试指令,是指测试脚本中包含的用于控制应用程序中界面控件执行功能任务的指令。在对应用程序进行控制以实现对应用程序的自动测试时,为了使应用程序能自动执行所需的测试任务,需要控制对应的界面控件执行功能任务,如需要视频播放应用程序执行视频播放/暂停等测试任务时,需要控制对应的播放/暂停按钮控件执行播放/暂停功能任务,因此,为了保证后续对应用程序的自动测试,需要从测试脚本中解析出所包含的测试指令。
应当说明的,在测试脚本中测试指令之间是有着对应的执行顺序的,在解析测试指令时,同时也确定出了各个测试指令之间对应的测试指令,以保证在进行测试时对各个功能任务的执行顺序,如视频播放应用程序先进行视频播放再进行视频快进,该执行顺序与测试脚本录制时用户对应用程序的操作行为的先后顺序相对应。
S103,查找出应用程序所包含的界面控件,并基于第一测试次数,控制界面控件执行第一测试指令对应的任务,以对应用程序进行测试。
在解析出所需执行的测试指令时,本发明实施例还会对应用程序中包含的界面控件进行查找,确定出应用程序中包含的所有界面控件,并确定出测试指令所需使用到的界面控件,再控制界面控件执行对应的测试指令的任务,如测试指令中包含执行播放/暂停功能任务时,本发明实施例会控制查找出的对应的播放/暂停按钮控件,并执行播放/暂停功能任务。其中,还会根据测试次数来确定对应的测试次数,如假设测试次数为10时,会在界面控件查找出来之后按照解析出的测试指令控制界面控件先完成一次测试脚本对应的测试,再在此次完成后重复9次测试。
作为本发明的一个实施例,在使用Uiautomator作为测试工具时,可以根据元素的text、hint、contentDescription等属性,利用findObject()方法来查找到应用程序包含的界面控件。同时,可以对abdshell命令进行封装,以驱动instrumentation的API实现对测试脚本的解析以及利用测试指令对界面控件的控制,以实现对录制测试脚本解析以及测试指令的执行,完成对应用程序的测试。在本发明实施例中,可以调用Uiautomator对测试指令进行解析确定出所需执行的功能任务,并对移动终端进行功能任务的注入,以使得界面控件能根据功能任务完成应用程序的测试。
本发明实施例通过利用移动终端本身预先录制用户对应用程序的操作行为并生成对应的测试脚本,再基于录制的测试脚本直接对应用程序进行测试,从而使得本发明实施例无需依赖任何其他设备,而是直接使用移动终端本身就可以完成对应用程序的测试,摆脱了测试场地和设备等因素的限制,且可以仅针对用户的需求来进行针对性测试脚本生成与测试,从而极大地提升了对应用程序的测试效率,使得应用程序的测试变得简单高效。
作为本发明实施例二,如图2所示,在本发明实施例一回放测试之前,还包括移动终端对用户的应用程序操作行为进行第一测试脚本的录制。为了实现移动终端不依赖于其他设备而进行应用程序的测试,本发明实施例中会先对用户操作应用程序的操作行为进行录制以生成测试脚本,以基于生成的测试脚本为基础来实现对用户操作行为的回放,实现对应用程序的测试,因此在本发明实施例一之前,本发明实施例会录制用户应用程序的操作行为,详述如下:
S201,接收用户输入的脚本录制指令,并确定出应用程序包含的界面控件。
在接收到用户在测试工具中输入的脚步录制指令后,移动终端开始进行脚步本录制的模式,此时首先会确定出应用程序中所包含的所有界面控件,如上述的在使用Uiautomator作为测试工具时,可以根据元素的text、hint、contentDescription等属性,利用findObject()方法来查找到应用程序包含的界面控件。
S202,记录应用程序在对用户输入的操作指令响应过程中,界面控件对应的响应数据。
其中,界面控件对应响应数据是指界面控件对用户操作行为进行响应时产生的数据,以及对应的用户操作行为的时间,如用户视频播放应用程序在视频播放时进行了1.5倍的快进操作,此时快进按钮控件会响应执行1.5倍的快进操作,此时快进按钮控件对应的响应数据就是1.5倍的快进倍率以及用户快进操作时的时间。
用户在对应用程序进行操作时,界面控件会对用户的操作行为进行响应,从而实现应用程序的各个功能对用户操作的响应,如视频播放应用程序中用户若在录制时点击了播放/暂停按钮,对应的播放/暂停按钮控件执行播放/暂停功能任务,因此,此时对界面控件的响应数据进行记录,即可知道在用户的操作过程中应用程序都在何时执行了一些什么功能,以便后续对用户操作的准确回放。
S203,接收用户输入的录制停止指令,并基于记录的界面控件对应的响应数据生成第一测试脚本。
在用户完成对应用程序的操作行为后,只需在测试工具中输入相应的录制停止指令,即可停止对用户操作行为的录制,并会将录制得到的界面控件的响应数据进行处理,得到相应的测试脚本,以为后续回放测试作为基础。如用户录制期间完成对视频播放应用程序的播放/暂停/快进/停止功能操作后,得到了对应界面控件的响应数据之后,根据这些响应数据生成测试脚本,以记录用户对应用程序的操作,并在接收到用户的录制回放指令后实现对这些操作行为的一一回放,实现对应用程序的测试。
作为本发明的一个优选实施例,在移动终端完成对用户操作应用程序的操作行为的录制,得到测试脚本之后,还包括:移动终端将测试脚本发送至服务器,并由服务器对测试脚本进行标准化处理,以其他移动终端应用程序测试时下载调用。
考虑到当用户需要同时测试多台移动终端时,若一一按照上述实施例的录制-回放步骤进行处理,需要录制非常多次的测试脚本,需要耗费大量的时间精力,效率较低。因此,为了提升用户对多台移动终端的应用程序测试,本发明实施例中,移动终端在记录好用户的操作行为并得到测试脚本之后,会将测试脚本上传至服务器以供其他移动终端的下载使用,由于其他移动终端也只需要下载测试脚本即可实现后续的应用程序测试,因此同样可以实现对应用程序的独立自动测试,而无需使用电脑来对测试进行调控。
实际情况中,用户的移动终端可能会有所不同,硬件配置也会存在差异,如显示屏幕的大小、分辨率等各不相同,而在记录响应数据时可能会涉及到一些与硬件配置相关的数据,如对图片移动时,记录了用户操作时图片移动的像素距离,此时若直接按照实际用户操作对应生成的测试脚本来对其他移动终端进行测试时,可能会对测试造成较大的影响,使得其他移动终端无法进行应用程序测试。因此为了保证对各个移动终端的正常测试,本发明实施例中会对得到的测试脚本进行统一化处理,使得其他移动终端也能直接使用录制得到的测试脚本,如将上述图片移动的像素距离转换为相对显示屏幕的百分比大小距离,此时无论其他移动终端的显示屏幕大小、分辨率是多少,都可以保证对测试时图片的正常移动。
作为本发明的一个实施例,在接收到录制回放指令进行回放测试之前,还包括:根据接收到的用户输入的测试参数设置指令,对第一测试次数和或第一测试指令进行调整。
考虑到默认设置的测试次数不一定能满足用户的需求,因此本发明实施例中为用户提供对测试次数修改的功能,以满足不同用户的实际需求。同时,由于本发明实施例一中的测试脚本是对用户应用程序的操作行为进行录制得到的,而用户手动操作时对一些参数值的设置可能不是很精确,如在视频播放应用程序中,采用向右滑动的方式设置快进倍率,此时用户对快进倍率的设置难以准确量化,实际设置的参数值与理想值往往存在一定的差异,因此,为了实现对这些参数值的准确设置,本发明实施例中为用户提供了对测试指令的修改功能,以实现对测试的精确控制。
作为本发明的进行脚本录制的一种具体实现方法,包括:
若移动终端的操作系统为安卓系统,利用AccessibilityService对用户操作指令的输入进行事件监听。
基于AccessibilityEvent的getSource()方法,获取界面控件对操作指令的响应数据。
作为本发明实施例三,如图3所示,在移动终端根据接收到的录制回放指令,对其录制的用户的应用程序操作行为的第一测试脚本进行提取之前,还包括:
S100,判断接收到的脚本选取指令是否为录制回放指令。
在判断接收到的脚本选取指令是否为录制回放指令之后,还包括:
S104,若脚本选取指令不为录制回放指令,从预设的测试脚本集中选取出脚本选取指令指向的第二测试脚本。
S105,获取第二测试脚本对应的第二测试次数,并对第二测试脚本进行解析,确定出第二测试脚本中包含的第二测试指令。
S106,查找出应用程序所包含的界面控件,并基于第二测试次数,控制界面控件执行第二测试指令对应的任务,以对应用程序进行测试。
在本发明实施例一中,都是直接读取对用户应用程序操作录制得到的测试脚本进行测试,但实际情况中有时用户可能需要移动终端直接运行非移动终端录制的预设测试脚本以进行测试。因此,本发明实施例中提供了运行非录制的测试脚本的进行应用程序测试的功能,以满足用户的实际需求,在本发明实施例中,用户只需要预先将非移动终端录制的测试脚本存入移动终端,移动终端会将所有存入的非录制的测试脚本存储为一个测试脚本集,此时用户只需要在输入录制回放指令时,输入相应的脚步选取指令,即可实现从测试脚本集中选取出所需测试脚本进行回访测试。
作为本发明的一个实施例,用户可以在电脑端利用Uiautomator测试工具预先编写好测试脚本,如在确定好测试任务之后,针对每个界面控件编写好对应的测试指令,设置好相应的执行顺序以得到所需的测试脚本,再设置好测试脚本对应的测试次数,从而完成了对测试脚本的编写。在得到测试脚本之后,在将其存储至移动终端,以使得移动终端可以根据存储好的测试脚本,直接独立完成对应用程序的测试。
作为本发明的一个实施例,在对应用程序进行测试之后,还包括:
对应用程序在测试中的响应数据进行分析,得到应用程序的性能指标数据。
其中,应用程序在测试中的响应数据包括测试中应用程序对每个测试指令的响应时间以及响应结果,如视频播放应用程序中,应用程序对快进指令的响应时间是多少秒,响应结果是成功还是失败,响应过程中应用程序是否崩溃等。由于本发明实施例一中仅能对用户在录制过程中对应用程序的操作行为进行录制,因此也仅能得到这些操作行为对应的测试指令的响应数据进行分析,得到一些与操作行为相关的应用程序的性能指标,以及一些常见的与操作行为直接关联度较小的性能指标,如对于视频播放应用程序,用户在录制时仅进行了播放、暂停、快进以及快退操作,此时本发明实施例仅会对于这些操作相关的性能指标,如播放、暂停、快进以及快退的响应时间是否正常,对应功能是否正常响应等,以及与操作行为直接关联度较小的性能指标,如多次测试中应用程序是否出现崩溃,处理器资源占用是否出现过高等进行分析,得到对应的性能指标数据。本发明实施例在进行响应数据分析时,会首先确定出每个测试指令对应的响应数据,并读取出预先设置的对应的测试结果标准值进行比较,再得到最终的性能指标数据。
在本发明实施例中,通过预先录制用户对应用程序的操作行为并生成对应的测试脚本,再基于录制的测试脚本直接对应用程序进行测试,从而使得本发明实施例无需依赖任何其他设备,而是直接使用移动终端本身就可以完成对应用程序的测试,摆脱了测试场地和设备等因素的限制,且可以仅针对用户的需求来进行针对性测试脚本生成与测试,从而极大地提升了对应用程序的测试效率,使得应用程序的测试变得简单高效。同时为用户提供参数修改、预设测试脚本运行以及性能指标分析等功能,使得用户对应用程序的测试更加智能便捷,进一步提升了对应用程序的测试效率。
对应于上文实施例的方法,图4示出了本发明实施例提供的应用程序测试装置的结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。图4示例的应用程序测试装置可以是前述实施例一提供的应用程序测试方法的执行主体。
参照图4,该应用程序测试装置包括:
录制回放模块41,用于根据接收到的录制回放指令,对应用程序测试装置录制的用户操作应用程序的操作行为的第一测试脚本进行提取。
第一脚本解析模块41,用于获取所述第一测试脚本对应的第一测试次数,并对所述第一测试脚本进行解析,确定出所述第一测试脚本中包含的第一测试指令。
第一测试模块42,用于查找出所述应用程序所包含的界面控件,并基于所述第一测试次数,控制所述界面控件执行所述第一测试指令对应的任务,以对所述应用程序进行测试。
进一步地,该应用程序测试装置,还包括:
脚本录制模块,用于对所述用户的应用程序操作行为进行所述第一测试脚本的录制。
脚本录制模块,包括:
控件确定模块,用于接收所述用户输入的脚本录制指令,并确定出所述应用程序包含的所述界面控件。
响应记录模块,用于记录所述应用程序在对所述用户输入的操作指令响应过程中,所述界面控件对应的响应数据。
脚本生成模块,用于接收所述用户输入的录制停止指令,并基于记录的所述界面控件对应的响应数据生成所述第一测试脚本。
进一步地,所述响应记录模块,包括:
监听模块,用于若所述移动终端的操作系统为安卓系统,利用AccessibilityService对用户所述操作指令的输入进行事件监听。
数据获取模块,用于基于AccessibilityEvent的getSource()方法,获取界面控件对所述操作指令的所述响应数据。
进一步地,该应用程序测试装置,还包括:
判断接收到的脚本选取指令是否为所述录制回放指令
脚本选取模块,用于若所述脚本选取指令不为所述录制回放指令,从预设的测试脚本集中选取出所述脚本选取指令指向的第二测试脚本。
第二脚本解析模块,用于获取所述第二测试脚本对应的第二测试次数,并对所述第二测试脚本进行解析,确定出所述第二测试脚本中包含的第二测试指令。
第二测试模块,用于查找出所述应用程序所包含的所述界面控件,并基于所述第二测试次数,控制所述界面控件执行所述第二测试指令对应的任务,以对所述应用程序进行测试。
进一步地,该应用程序测试装置,还包括:
性能分析模块,用于对所述应用程序在所述测试中的响应数据进行分析,得到所述应用程序的性能指标数据。
本发明实施例提供的应用程序测试装置中各模块实现各自功能的过程,具体可参考前述图1所示实施例一的描述,此处不再赘述。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
还应理解的是,虽然术语“第一”、“第二”等在文本中在一些本发明实施例中用来描述各种元素,但是这些元素不应该受到这些术语的限制。这些术语只是用来将一个元素与另一元素区分开。例如,第一接触可以被命名为第二接触,并且类似地,第二接触可以被命名为第一接触,而不背离各种所描述的实施例的范围。第一接触和第二接触都是接触,但是它们不是同一接触。
图5是本发明一实施例提供的应用程序测试移动终端的示意图。如图5所示,该实施例的应用程序测试移动终端5包括:处理器50、存储器51,所述存储器51中存储有可在所述处理器50上运行的计算机程序52。所述处理器50执行所述计算机程序52时实现上述各个应用程序测试方法实施例中的步骤,例如图1所示的步骤101至103。或者,所述处理器50执行所述计算机程序52时实现上述各装置实施例中各模块/单元的功能,例如图4所示模块41至43的功能。
所述应用程序测试移动终端5可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述应用程序测试移动终端可包括,但不仅限于,处理器50、存储器51。本领域技术人员可以理解,图5仅仅是应用程序测试移动终端5的示例,并不构成对应用程序测试移动终端5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述应用程序测试移动终端还可以包括输入发送设备、网络接入设备、总线等。
所称处理器50可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器51可以是所述应用程序测试移动终端5的内部存储单元,例如应用程序测试移动终端5的硬盘或内存。所述存储器51也可以是所述应用程序测试移动终端5的外部存储设备,例如所述应用程序测试移动终端5上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器51还可以既包括所述应用程序测试移动终端5的内部存储单元也包括外部存储设备。所述存储器51用于存储所述计算机程序以及所述应用程序测试移动终端所需的其他程序和数据。所述存储器51还可以用于暂时地存储已经发送或者将要发送的数据。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使对应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (8)
1.一种应用程序测试方法,其特征在于,所述应用程序测试方法直接应用于移动终端本身,包括:
接收用户输入的脚本录制指令,并确定出所述应用程序包含的界面控件;
记录所述应用程序在对所述用户输入的操作指令响应过程中,所述界面控件对应的响应数据;所述响应数据包括所述界面控件对用户操作行为进行响应时产生的数据;
接收所述用户输入的录制停止指令,基于记录的所述界面控件对应的响应数据生成第一测试脚本,并存储所述第一测试脚本;
所述移动终端根据接收到的录制回放指令,对其录制的用户操作应用程序的操作行为的第一测试脚本进行提取;
获取所述第一测试脚本对应的第一测试次数,并对所述第一测试脚本进行解析,确定出所述第一测试脚本中包含的第一测试指令;
查找出所述应用程序所包含的界面控件,并基于所述第一测试次数,控制所述界面控件执行所述第一测试指令对应的任务,以对所述应用程序进行测试。
2.如权利要求1所述的应用程序测试方法,其特征在于,所述记录所述应用程序在对所述用户输入的操作指令响应过程中,所述界面控件对应的响应数据,包括:
若所述移动终端的操作系统为安卓系统,利用AccessibilityService对用户所述操作指令的输入进行事件监听;
基于AccessibilityEvent的getSource()方法,获取界面控件对所述操作指令的所述响应数据。
3.如权利要求1所述的应用程序测试方法,其特征在于,在所述移动终端根据接收到的录制回放指令,对其录制的用户的应用程序操作行为的第一测试脚本进行提取之前,还包括:
判断接收到的脚本选取指令是否为所述录制回放指令;
在所述判断接收到的脚本选取指令是否为所述录制回放指令之后,还包括:
若所述脚本选取指令不为所述录制回放指令,从预设的测试脚本集中选取出所述脚本选取指令指向的第二测试脚本;
获取所述第二测试脚本对应的第二测试次数,并对所述第二测试脚本进行解析,确定出所述第二测试脚本中包含的第二测试指令;
查找出所述应用程序所包含的所述界面控件,并基于所述第二测试次数,控制所述界面控件执行所述第二测试指令对应的任务,以对所述应用程序进行测试。
4.如权利要求1或3所述的应用程序测试方法,其特征在于,在对所述应用程序进行测试之后,还包括:
对所述应用程序在所述测试中的响应数据进行分析,得到所述应用程序的性能指标数据。
5.一种应用程序测试移动终端,其特征在于,所述应用程序测试移动终端包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
接收用户输入的脚本录制指令,并确定出所述应用程序包含的界面控件;
记录所述应用程序在对所述用户输入的操作指令响应过程中,所述界面控件对应的响应数据;所述响应数据包括所述界面控件对用户操作行为进行响应时产生的数据;
接收所述用户输入的录制停止指令,基于记录的所述界面控件对应的响应数据生成第一测试脚本,并存储所述第一测试脚本;
所述处理器根据接收到的录制回放指令,对其录制的用户操作应用程序的操作行为的第一测试脚本进行提取;
获取所述第一测试脚本对应的第一测试次数,并对所述第一测试脚本进行解析,确定出所述第一测试脚本中包含的第一测试指令;
查找出所述应用程序所包含的界面控件,并基于所述第一测试次数,控制所述界面控件执行所述第一测试指令对应的任务,以对所述应用程序进行测试。
6.如权利要求5所述应用程序测试移动终端,其特征在于,所述记录所述应用程序在对所述用户输入的操作指令响应过程中,所述界面控件对应的响应数据,包括:
若所述移动终端的操作系统为安卓系统,利用AccessibilityService对用户所述操作指令的输入进行事件监听;
基于AccessibilityEvent的getSource()方法,获取界面控件对所述操作指令的所述响应数据。
7.如权利要求5所述应用程序测试移动终端,其特征在于,在所述移动终端根据接收到的录制回放指令,对其录制的用户的应用程序操作行为的第一测试脚本进行提取之前,还包括:
判断接收到的脚本选取指令是否为所述录制回放指令;
在所述判断接收到的脚本选取指令是否为所述录制回放指令之后,还包括:
若所述脚本选取指令不为所述录制回放指令,从预设的测试脚本集中选取出所述脚本选取指令指向的第二测试脚本;
获取所述第二测试脚本对应的第二测试次数,并对所述第二测试脚本进行解析,确定出所述第二测试脚本中包含的第二测试指令;
查找出所述应用程序所包含的所述界面控件,并基于所述第二测试次数,控制所述界面控件执行所述第二测试指令对应的任务,以对所述应用程序进行测试。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810466917.9A CN108717393B (zh) | 2018-05-16 | 2018-05-16 | 一种应用程序测试方法及移动终端 |
PCT/CN2018/097093 WO2019218458A1 (zh) | 2018-05-16 | 2018-07-25 | 一种应用程序测试方法、装置、移动终端及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810466917.9A CN108717393B (zh) | 2018-05-16 | 2018-05-16 | 一种应用程序测试方法及移动终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108717393A CN108717393A (zh) | 2018-10-30 |
CN108717393B true CN108717393B (zh) | 2022-05-27 |
Family
ID=63900105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810466917.9A Active CN108717393B (zh) | 2018-05-16 | 2018-05-16 | 一种应用程序测试方法及移动终端 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108717393B (zh) |
WO (1) | WO2019218458A1 (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763071A (zh) * | 2018-05-17 | 2018-11-06 | 平安科技(深圳)有限公司 | 一种网页测试方法及终端设备 |
CN111258875A (zh) * | 2018-11-30 | 2020-06-09 | 北京京东尚科信息技术有限公司 | 界面测试方法及系统、电子设备、存储介质 |
CN109992505B (zh) * | 2019-03-15 | 2024-07-02 | 平安科技(深圳)有限公司 | 应用程序测试方法、装置、计算机设备及存储介质 |
CN110765013B (zh) * | 2019-10-18 | 2024-02-23 | 深圳市比量科技传媒有限公司 | 一种流程自动化执行方法及系统 |
CN110928787B (zh) * | 2019-11-22 | 2023-04-11 | 北京博睿宏远数据科技股份有限公司 | 自动化测试脚本录制回放方法、装置、设备和存储介质 |
CN111008135B (zh) * | 2019-12-02 | 2024-01-23 | 北京博睿宏远数据科技股份有限公司 | App测试方法、装置、设备及存储介质 |
CN111858295B (zh) * | 2019-12-31 | 2024-05-14 | 北京骑胜科技有限公司 | 一种固件测试方法、装置、电子设备和存储介质 |
CN111506496A (zh) * | 2020-03-11 | 2020-08-07 | 北京三快在线科技有限公司 | 一种测试数据获取方法、装置、电子设备及存储介质 |
CN111367812A (zh) * | 2020-03-12 | 2020-07-03 | 北京奇艺世纪科技有限公司 | 测试方法、电子设备及可读存储介质 |
CN111858336B (zh) * | 2020-07-20 | 2024-03-15 | 深圳市筑泰防务智能科技有限公司 | 一种软件自动化测试方法以及系统 |
CN112269746A (zh) * | 2020-11-10 | 2021-01-26 | 京东数科海益信息科技有限公司 | 自动化测试方法及相关设备 |
CN112732580B (zh) * | 2021-01-11 | 2024-07-02 | 珠海金山数字网络科技有限公司 | 基于Unity的层级查找的自动化测试方法、装置及介质 |
CN113760750B (zh) * | 2021-08-13 | 2024-04-02 | 深圳Tcl新技术有限公司 | 一种智能设备测试方法、装置、电子设备和存储介质 |
CN114020641A (zh) * | 2021-11-26 | 2022-02-08 | 中国银行股份有限公司 | 一种移动端应用的测试方法、装置、存储介质和设备 |
CN114679402B (zh) * | 2022-03-25 | 2024-05-14 | 武汉联影智融医疗科技有限公司 | 一种医疗机器人上下位机间通信协议的测试方法及装置 |
WO2023230798A1 (zh) * | 2022-05-30 | 2023-12-07 | 北京小米移动软件有限公司 | 一种跨系统的按键测试方法及装置 |
CN117424843B (zh) * | 2023-12-18 | 2024-02-13 | 北京华峰测控技术股份有限公司 | 一种管理方法、装置及ate测试系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021099A (zh) * | 2016-05-12 | 2016-10-12 | 上海联彤网络通讯技术有限公司 | 实现智能终端ui自动化测试的系统及方法 |
CN107145440A (zh) * | 2017-04-06 | 2017-09-08 | 百富计算机技术(深圳)有限公司 | 应用程序测试方法、装置和计算机设备 |
CN107748718A (zh) * | 2017-10-11 | 2018-03-02 | 百富计算机技术(深圳)有限公司 | 应用程序测试方法、装置及服务器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7197431B2 (en) * | 2000-08-22 | 2007-03-27 | International Business Machines Corporation | Method and system for determining the use and non-use of software programs |
CN107357724A (zh) * | 2017-06-27 | 2017-11-17 | 深圳市泰衡诺科技有限公司上海分公司 | 安卓系统中的软件自动化测试方法及装置 |
-
2018
- 2018-05-16 CN CN201810466917.9A patent/CN108717393B/zh active Active
- 2018-07-25 WO PCT/CN2018/097093 patent/WO2019218458A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021099A (zh) * | 2016-05-12 | 2016-10-12 | 上海联彤网络通讯技术有限公司 | 实现智能终端ui自动化测试的系统及方法 |
CN107145440A (zh) * | 2017-04-06 | 2017-09-08 | 百富计算机技术(深圳)有限公司 | 应用程序测试方法、装置和计算机设备 |
CN107748718A (zh) * | 2017-10-11 | 2018-03-02 | 百富计算机技术(深圳)有限公司 | 应用程序测试方法、装置及服务器 |
Also Published As
Publication number | Publication date |
---|---|
WO2019218458A1 (zh) | 2019-11-21 |
CN108717393A (zh) | 2018-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108717393B (zh) | 一种应用程序测试方法及移动终端 | |
CN107516510B (zh) | 一种智能设备自动化语音测试方法及装置 | |
CN108900776B (zh) | 用于确定响应时间的方法和装置 | |
US10853232B2 (en) | Adaptive system for mobile device testing | |
CN108984389B (zh) | 一种应用程序测试方法及终端设备 | |
WO2019218464A1 (zh) | 一种应用程序测试方法、装置、移动终端及介质 | |
US9819758B2 (en) | Remote debugging into mobile web applications across devices | |
CN109669798B (zh) | 崩溃分析方法、装置、电子设备,及存储介质 | |
CN110597704B (zh) | 应用程序的压力测试方法、装置、服务器和介质 | |
CN104317699A (zh) | 应用程序审核方法及装置 | |
CN110610089A (zh) | 用户行为模拟方法、装置及计算机设备 | |
CN111200744B (zh) | 一种多媒体播放控制方法、装置及智能设备 | |
CN111465923B (zh) | 用于捕获和执行图形处理操作的技术 | |
CN110597733A (zh) | 自动化前端稳定性测试方法、装置及存储介质 | |
US10922249B2 (en) | Input/output control code filter | |
CN111354383B (zh) | 一种音频缺陷定位方法、装置及终端设备 | |
CN114238119A (zh) | 用于安卓应用的自动化测试方法和系统以及存储介质 | |
CN113590092A (zh) | 一种脚本生成方法、生成装置和计算机可读存储介质 | |
CN115248772A (zh) | 软件中间件的接口测试方法和装置 | |
CN109542531B (zh) | 一种文件布局调整方法及装置 | |
CN106681899A (zh) | 基于Jmeter的安卓UI自动化测试方法及系统 | |
CN110928766A (zh) | 应用软件的测试方法、装置、设备及计算机可读存储介质 | |
JP6907624B2 (ja) | 再現装置、再現方法及び再現プログラム | |
CN110036373B (zh) | 在程序的跟踪期间修整程序的部分的系统、方法和产品 | |
KR101976993B1 (ko) | 모바일 코드 자동 분석을 위한 동적 바이너리 계측 코드추출장치 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |