CN108874677B - 一种安卓终端及其测试方法和系统 - Google Patents
一种安卓终端及其测试方法和系统 Download PDFInfo
- Publication number
- CN108874677B CN108874677B CN201810679162.0A CN201810679162A CN108874677B CN 108874677 B CN108874677 B CN 108874677B CN 201810679162 A CN201810679162 A CN 201810679162A CN 108874677 B CN108874677 B CN 108874677B
- Authority
- CN
- China
- Prior art keywords
- test
- android
- script
- android terminal
- control program
- 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
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)
- Telephone Function (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明适用于测试技术领域,提供一种安卓终端及其测试方法和系统,其中,测试方法由安卓终端执行,所述测试方法包括:当接收到测试界面显示指令时,显示测试界面;当接收到自动测试指令或用户在所述测试界面输入的手动测试指令时,运行所述安卓终端安装的测试控制程序;其中,所述测试控制程序搭载有测试脚本的运行环境;通过所述测试控制程序在所述测试脚本的运行环境下,驱动所述测试脚本运行;通过所述测试脚本调用远程过程调用服务封装的安卓特性,以对所述安卓终端进行测试。本发明实施例可由安卓终端自主实现对自身安卓系统的自动测试或手动测试,还可实现测试控制程序的开发调试过程与真实运行环境的无差异化。
Description
技术领域
本发明属于测试技术领域,尤其涉及一种安卓终端及其测试方法和系统。
背景技术
随着科学技术的不断发展,手机、平板电脑、智能手环、智能家居等各种安卓(Android)终端层出不穷,为人们的生产和生活带来了极大便利。安卓终端在出厂之前需要进行系统测试,以检测安卓终端的系统性能。现有的安卓系统测试方法通常包括:方案一、由客户端来驱动测试程序执行,安卓终端作为被测设备等到测试指令;方案二、事先在客户端上开发好测试用例后,再部署到安卓终端上并启动测试程序,以进行测试。
现有的方案一需依赖客户端完成测试过程,会造成客户端资源和客户端设置场地的浪费,方案二不利于对部署到安卓终端上的测试程序进行调试,严重降低了测试效率。
发明内容
有鉴于此,本发明实施例提供了一种安卓终端及其测试方法和系统,以解决现有的安卓系统测试方法需依赖客户端完成测试过程,会造成客户端资源和客户端设置场地的浪费,或不利于对部署到安卓终端上的测试程序进行调试,严重降低了测试效率的问题。
本发明实施例的第一方面提供了一种安卓终端的测试方法,其包括:
当接收到测试界面显示指令时,显示测试界面;
当接收到自动测试指令或用户在所述测试界面输入的手动测试指令时,运行所述安卓终端安装的测试控制程序;其中,所述测试控制程序搭载有测试脚本的运行环境;
通过所述测试控制程序在所述测试脚本的运行环境下,驱动所述测试脚本运行;
通过所述测试脚本调用远程过程调用服务封装的安卓特性,以对所述安卓终端进行测试。
本发明实施例的第二方面提供了一种安卓终端的测试系统,其包括:
显示模块,用于当接收到测试界面显示指令时,显示测试界面;
程序运行模块,用于当接收到自动测试指令或用户在所述测试界面输入的手动测试指令时,运行所述安卓终端安装的测试控制程序;其中,所述测试控制程序搭载有测试脚本的运行环境;
脚本驱动模块,用于通过所述测试控制程序在所述测试脚本的运行环境下,驱动所述测试脚本运行;
测试模块,用于通过所述测试脚本调用远程过程调用服务封装的安卓特性,以对所述安卓终端进行测试。
本发明实施例的第三方面提供了一种安卓终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本发明实施例通过在接收到测试界面显示指令时,显示测试界面,并在接收到自动测试指令或用户在测试界面输入的手动测试指令时,运行安卓终端已安装的测试控制程序,无需依赖客户端,即可在安卓终端上独立运行测试控制程序,由安卓终端自主实现对自身安卓系统的自动测试或手动测试;通过事先在测试控制程序中搭载测试脚本的运行环境并在,通过测试控制程序在测试脚本的运行环境下驱动测试脚本运行,以通过测试脚本调用远程过程调用服务中的安卓特性,无需依赖客户端,即可在安卓终端上独立运行测试脚本,实现测试控制程序的开发调试过程与真实运行环境的无差异化。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的安卓终端和客户端的结构示意图;
图2是本发明实施例一提供的测试方法的流程示意图;
图3是本发明实施例二提供的测试系统的结构示意图;
图4是本发明实施例三提供的安卓终端的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一
如图1所示,本实施例提供一种安卓终端100和客户端200,安卓终端100通过调用自带的安卓调试桥(Android Debug Bridge ,ADB)101与客户端200通信连接。安卓调试桥101为安卓终端100的安卓系统自带的接口程序,用于起到客户端200和安卓终端100之间的调试桥作用。
在具体应用中,安卓终端可以是手机、平板电脑、个人数字助理、笔记本电脑、智能手环、智能家居设备等任意的可运行安卓操作系统的安卓设备。
在具体应用中,客户端可以是PC(Personal Computer,个人计算机)、笔记本电脑、服务器或专用安卓测试设备等可用于对安卓终端进行测试的客户端。客户端和安卓终端可以通过USB(Universal Serial Bus,通用串行总线)或WiFi等任意可行的通信方式实现通信连接,具体通信方式由客户端和安卓终端共同支持的通信方式决定。当客户端是云服务器时,安卓终端可以通过有线网络或无线网络与云服务器进行数据交互。
在具体应用中,客户端可以通过安卓调试桥对安卓终端进行软件安装、系统升级、运行shell命令等操作。相应的,安卓调试桥用于通过客户端和安卓终端共同支持的通信方式在客户端和安卓终端之间转发用于对安卓终端进行软件安装、系统升级、运行shell命令等操作的TCP(Transmission Control Protocol,传输控制协议)包。
如图1所示,在本实施例中,在测试脚本开发调试阶段,客户端200事先开发并调试好测试控制程序以及测试脚本的运行环境,然后通过安卓调试桥将搭载测试脚本的运行环境的测试控制程序102安装于安卓终端100;由于测试脚本不能直接调用安卓特性,因此,还需要事先调用安卓终端的远程过程调用(Remote Procedure Call,RPC)服务103,通过安卓调试桥101采用TCP从客户端200获取安卓特性并封装进安卓终端100的远程过程调用服务103;
在测试阶段,安卓终端100可自主运行测试控制程序,在已搭载的测试脚本的运行环境下,运行测试脚本,并由测试脚本通过TCP调用封装于远程过程调用服务103的安卓特性,实现对安卓终端自身的安卓系统的自主测试,无需客户端200参与测试阶段。
如图2所示,基于图1所示的安卓终端100和客户端200,本实施例还提供一种由安卓终端100执行的测试方法,其包括:
步骤S201,当接收到测试界面显示指令时,显示测试界面。
在具体应用中,用户可以通过安卓终端所支持的人机交互方式输入测试界面显示指令,以控制安卓终端显示测试界面。相应的,安卓终端的人机交互器件可以包括显示屏以及按键、触控屏、语音控制模块或手势控制模块。当安卓终端包括语音控制模块时,用户可以通过语音控制模块对安卓终端进行语音控制;当安卓终端当安卓终端包括手势控制模块时,用户可以通过手势控制模块对安卓终端进行手势控制;当安卓终端包括触控屏时,触控屏和显示屏可以共同构成触控显示屏。语音控制模块具体可以包括麦克风和语音控制芯片;手势控制模块具体可以包括摄像头和图像处理芯片,或者包括感光器件和图像传感器。
在本实施例中,测试界面主要用于用户需要手动触发安卓终端对自身的安卓系统的性能进行测试时,供用户输入相应的手动测试指令。用户可以在测试界面手动选择需要测试的项目,并触发安卓终端启动测试。
在一个实施例中,步骤S201之前,包括:
步骤S2011,通过安卓调试桥建立所述安卓终端与客户端之间的通信连接;
步骤S2012,在所述安卓终端中安装测试控制程序;
步骤S2013,在所述测试控制程序中搭载测试脚本的运行环境。
在具体应用中,安卓调试桥为安卓终端的安卓系统自带的接口程序,当需要与客户端建立通信连接时,即调用安卓调试桥。
在本实施例中,通过事先在安卓终端中安装测试控制程序使得安卓系统的测试过程可由安卓终端自主完成,无需客户端参与,从而可以有效减少客户端的投入数量和成本,进一步的还可以降低测试过程所需的人工成本和放置客户端的场地成本,也减少了的客户端后期维护成本;通过在测试控制程序中搭载测试脚本的运行环境,在安卓终端中实现与客户端相同的测试脚本运行环境,可以直接在安卓终端上对安卓系统进行调试,实现了开发调试过程与真实运行环境的无差异化。可根据安卓终端的安卓系统的版本适应性的选择相应的安卓测试控制程序。
在一个实施例中,步骤S2012之前包括:
当接收到所述客户端发送的测试指令时,调用远程过程调用服务封装的安卓特性,以对所述安卓终端进行测试;
其中,所述客户端用于运行自身安装的测试控制程序,在测试脚本的运行环境下驱动所述测试脚本运行,并向所述安卓终端发送所述测试指令。
在具体应用中,在测试脚本开发调试阶段,客户端事先开发好测试控制程序并部署好测试脚本的运行环境后,需要与安卓终端建立通信连接,由客户端运行自身安装的测试控制程序,通过所述测试控制程序在测试脚本的运行环境下,驱动所述测试脚本运行,并向安卓终端发送测试指令,以触发安卓终端调用远程过程调用服务封装的安卓特性,以对所述安卓终端进行测试,从而根据对安卓终端的测试结果来对测试脚本进行调试,完成对测试脚本开发和调试。
在具体应用中,远程过程调用服务用于封装安卓特性和提供远程调用接口。安卓终端的远程过程调用服务为客户端提供远程调用接口,以使得在测试脚本的开发调试阶段,任意类型的客户端在与安卓终端建立通信连接之后,均可以通过客户端上安装的测试控制程序,驱动测试脚本运行,以达到测试安卓终端上的安卓应用的目的。
步骤S202,当接收到自动测试指令或用户在所述测试界面输入的手动测试指令时,运行所述安卓终端安装的测试控制程序;其中,所述测试控制程序搭载有测试脚本的运行环境。
在具体应用中,用户可以通过一键触发方式或者命令行调用方式输入自动测试指令,以触发安卓终端运行测试控制程序,对安卓终端的安卓系统进行自动测试,测试过程中无需人工参与,可以有效提高测试效率。当需要根据用户的实际需要,有选择性的对安卓系统的特定性能进行测试时,则可以通过在测试界面输入手动测试指令的方式,触发安卓终端运行测试控制程序,实现对安卓系统的手动测试。手动测试的方式可以实现对安卓系统测试过程的自定义控制和测试项目的灵活选择,可以有效满足用户的个性化需求。
在具体应用中,所述测试脚本由通用语言编写,例如,Perl、Python、Ruby和Tcl等。
步骤S203,通过所述测试控制程序在所述测试脚本的运行环境下,驱动所述测试脚本运行。
在具体应用中,触发测试控制程序运行之后,即在与客户端对测试脚本进行开发调试阶段时相同的运行环境下,驱动测试脚本运行。
在一个实施例中,所述测试控制程序搭载有所述测试脚本运行时需执行的二进制文件;
步骤S203包括:
通过所述测试控制程序在所述测试脚本的运行环境下,以启动后台进程的方式启动脚本解析器;
通过所述脚本解析器加载和执行所述二进制文件,以运行所述测试脚本。
在具体应用中,脚本解析器用于对所述测试脚本的解析性脚本语言进行解析和执行。
步骤S204,通过所述测试脚本调用远程过程调用服务封装的安卓特性,以对所述安卓终端进行测试。
在具体应用中,由于测试脚本不能直接调用安卓特性,因此需要通过启动远程过程调用服务来调用事先封装于远程过程调用服务的测试接口的安卓特性,供测试脚本使用,从而实现对安卓终端的安卓系统的测试。
在一个实施例中,步骤S204之前包括:
将安卓特性封装于远程过程调用服务;其中,所述安卓特性包括活动特性、服务特性、广播接收器特性和内容提供特性中的至少一种;
对应的,步骤S204包括:
通过远程过程调用服务以远程过程调用的方式对所述测试脚本提供服务;
通过所述测试脚本调用所述远程过程调用服务封装的安卓特性,以对所述安卓终端进行测试。
在具体应用中,可由远程过程调用服务以远程过程调用的方式通过安卓调试桥从客户端获取安卓特性并封装于远程过程调用服务自身的测试接口。
在具体应用中,安卓特性可以按照安卓系统的四大组件进行分类,划分为活动(activity)、服务(service)、广播接收器(broadcast receiver)和内容提供(contentprovider)四大组件的特性以及系统运行库的特性或第三方库的特性等。还可以按照安卓系统的具体功能来划分,例如,颜色管理特性、多显示器支持特性、指针捕获特性等。
在一个实施例中,所述远程过程调用的数据传输格式为JSON(JavaScript ObjectNotation)格式,所述测试控制程序和所述远程过程调用服务之间的数据传输协议为传输控制协议。
在具体应用中,可以采用可扩展标记语言来描述远程过程调用服务的远程调用过程,远程过程调用的数据传输格式为JSON格式。远程过程调用服务与客户端之间的数据传输协议也为传输控制协议,保证测试控制程序和远程过程调用服务、远程过程调用服务和客户端之间数据传输方式的一致性,使得客户端上开发完成的测试脚本在搭载于测试控制程序之后,可以直接通过测试控制程序运行测试脚本。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
实施例二
如图3所示,本实施例提供一种安卓终端的测试系统300,用于执行实施例一中的方法步骤,该系统具体可以是安卓终端中的软件程序系统,该系统包括:
显示模块301,用于当接收到测试界面显示指令时,显示测试界面;
程序运行模块302,用于当接收到自动测试指令或用户在所述测试界面输入的手动测试指令时,运行所述安卓终端安装的测试控制程序;其中,所述测试控制程序搭载有测试脚本的运行环境;
脚本驱动模块303,用于通过所述测试控制程序在所述测试脚本的运行环境下,驱动所述测试脚本运行;
测试模块304,用于通过所述测试脚本调用远程过程调用服务封装的安卓特性,以对所述安卓终端进行测试。
在一个实施例中,所述测试系统还包括:
通信模块,用于通过安卓调试桥建立所述安卓终端与客户端之间的通信连接;
安装模块,用于在所述安卓终端中安装测试控制程序;
配置模块,用于在所述测试控制程序中搭载测试脚本的运行环境。
在一个实施例中,所述测试系统还包括:
调试模块,用于当接收到所述客户端发送的测试指令时,通过远程过程调用服务调用所述安卓特性,以对所述安卓终端进行测试;
其中,所述客户端用于运行自身安装的测试控制程序,在测试脚本的运行环境下驱动所述测试脚本运行,并向所述安卓终端发送所述测试指令。
在一个实施例中,所述测试系统还包括:
封装模块,用于将安卓特性封装于远程过程调用服务;其中,所述安卓特性包括活动特性、服务特性、广播接收器特性和内容提供特性中的至少一种;
所述测试模块包括:
服务单元,用于通过远程过程调用服务以远程过程调用的方式对所述测试脚本提供服务;
测试单元,用于通过所述测试脚本调用所述远程过程调用服务封装的安卓特性,以对所述安卓终端进行测试。
在一个实施例中,脚本驱动模块包括:
启动单元,用于通过所述测试控制程序在所述测试脚本的运行环境下,以启动系统进程的方式启动脚本解析器;
运行单元,用于通过所述脚本解析器加载和执行所述二进制文件,以运行所述测试脚本。
实施例三
如图4所示,本实施例提供一种安卓终端400,其包括:处理器401、存储器402以及存储在所述存储器402中并可在所述处理器401上运行的计算机程序403,例如安卓终端的自主测试程序。所述处理器401执行所述计算机程序403时实现上述测试方法实施例中的步骤,例如图2所示的步骤S201至S204。或者,所述处理器401执行所述计算机程序403时实现上述各装置实施例中各模块/单元的功能,例如图3所示模块301至304的功能。
示例性的,所述计算机程序403可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器402中,并由所述处理器401执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序403在所述安卓终端400中的执行过程。例如,所述计算机程序403可以被分割成显示模块,程序运行模块,脚本驱动模块,测试模块,各模块具体功能如下:
显示模块,用于当接收到测试界面显示指令时,显示测试界面;
程序运行模块,用于当接收到自动测试指令或用户在所述测试界面输入的手动测试指令时,运行所述安卓终端安装的测试控制程序;其中,所述测试控制程序搭载有测试脚本的运行环境;
脚本驱动模块,用于通过所述测试控制程序在所述测试脚本的运行环境下,驱动所述测试脚本运行;
测试模块,用于通过所述测试脚本调用远程过程调用服务封装的安卓特性,以对所述安卓终端进行测试。
所述安卓终端400可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述安卓终端可包括,但不仅限于,处理器401、存储器402。本领域技术人员可以理解,图4仅仅是安卓终端400的示例,并不构成对安卓终端400的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述安卓终端还可以包括输入输出设备、网络接入设备、总线等。
所称处理器401可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器402可以是所述安卓终端400的内部存储单元,例如安卓终端400的硬盘或内存。所述存储器402也可以是所述安卓终端400的外部存储设备,例如所述安卓终端400上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器402还可以既包括所述安卓终端400的内部存储单元也包括外部存储设备。所述存储器402用于存储所述计算机程序以及所述安卓终端所需的其他程序和数据。所述存储器402还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/安卓终端和方法,可以通过其它的方式实现。例如,以上所描述的装置/安卓终端实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (9)
1.一种安卓终端的测试方法,其特征在于,包括:
当接收到测试界面显示指令时,显示测试界面;
当接收到自动测试指令或用户在所述测试界面输入的手动测试指令时,运行所述安卓终端安装的测试控制程序;其中,所述测试控制程序搭载有测试脚本的运行环境;
通过所述测试控制程序在所述测试脚本的运行环境下,驱动所述测试脚本运行;通过所述测试脚本调用远程过程调用服务封装的安卓特性,以对所述安卓终端进行测试;
其中,所述测试脚本的开发和调试预先根据对安卓终端的测试结果来完成;
所述测试控制程序搭载有所述测试脚本运行时需执行的二进制文件;所述测试脚本由通用语言编写,所述通用语言包括Perl、Python、Ruby以及Tcl;
通过所述测试控制程序在所述测试脚本的运行环境下,驱动所述测试脚本运行,包括:
通过所述测试控制程序在所述测试脚本的运行环境下,以启动后台进程的方式启动脚本解析器;
通过所述脚本解析器加载和执行所述二进制文件,以运行所述测试脚本。
2.如权利要求1所述的安卓终端的测试方法,其特征在于,接收到测试界面显示指令时,显示测试界面之前,包括:
通过安卓调试桥建立所述安卓终端与客户端之间的通信连接;
在所述安卓终端中安装测试控制程序;
在所述测试控制程序中搭载测试脚本的运行环境。
3.如权利要求2所述的安卓终端的测试方法,其特征在于,在所述安卓终端中安装测试控制程序之前,包括:
当接收到所述客户端发送的测试指令时,通过远程过程调用服务调用所述安卓特性,以对所述安卓终端进行测试;
其中,所述客户端用于运行自身安装的测试控制程序,在测试脚本的运行环境下驱动所述测试脚本运行,并向所述安卓终端发送所述测试指令。
4.如权利要求1所述的安卓终端的测试方法,其特征在于,通过所述测试脚本调用远程过程调用服务封装的安卓特性,以对所述安卓终端进行测试之前,包括:
将安卓特性封装于远程过程调用服务;其中,所述安卓特性包括活动特性、服务特性、广播接收器特性和内容提供特性中的至少一种;
通过所述测试脚本调用远程过程调用服务封装的安卓特性,以对所述安卓终端进行测试,包括:
通过远程过程调用服务以远程过程调用的方式对所述测试脚本提供服务;
通过所述测试脚本调用所述远程过程调用服务封装的安卓特性,以对所述安卓终端进行测试。
5.如权利要求4所述的安卓终端的测试方法,其特征在于,所述测试脚本由通用语言编写,所述远程过程调用的数据传输格式为JSON格式,所述测试控制程序和所述远程过程调用服务之间的数据传输协议为传输控制协议。
6.一种安卓终端的测试系统,其特征在于,包括:
显示模块,用于当接收到测试界面显示指令时,显示测试界面;
程序运行模块,用于当接收到自动测试指令或用户在所述测试界面输入的手动测试指令时,运行所述安卓终端安装的测试控制程序;其中,所述测试控制程序搭载有测试脚本的运行环境;
脚本驱动模块,用于通过所述测试控制程序在所述测试脚本的运行环境下,驱动所述测试脚本运行;测试模块,用于通过所述测试脚本调用远程过程调用服务封装的安卓特性,以对所述安卓终端进行测试;其中,所述测试脚本的开发和调试预先根据对安卓终端的测试结果来完成;
所述测试控制程序搭载有所述测试脚本运行时需执行的二进制文件;所述测试脚本由通用语言编写,所述通用语言包括Perl、Python、Ruby以及Tcl;
所述脚本驱动模块包括:
启动单元,用于通过所述测试控制程序在所述测试脚本的运行环境下,以启动系统进程的方式启动脚本解析器;
运行单元,用于通过所述脚本解析器加载和执行所述二进制文件,以运行所述测试脚本。
7.如权利要求6所述的安卓终端的测试系统,其特征在于,所述测试系统还包括:
通信模块,用于通过安卓调试桥建立所述安卓终端与客户端之间的通信连接;
安装模块,用于在所述安卓终端中安装测试控制程序;
配置模块,用于在所述测试控制程序中搭载测试脚本的运行环境。
8.一种安卓终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述方法的步骤。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810679162.0A CN108874677B (zh) | 2018-06-27 | 2018-06-27 | 一种安卓终端及其测试方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810679162.0A CN108874677B (zh) | 2018-06-27 | 2018-06-27 | 一种安卓终端及其测试方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108874677A CN108874677A (zh) | 2018-11-23 |
CN108874677B true CN108874677B (zh) | 2021-12-14 |
Family
ID=64295220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810679162.0A Active CN108874677B (zh) | 2018-06-27 | 2018-06-27 | 一种安卓终端及其测试方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108874677B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918314A (zh) * | 2019-04-08 | 2019-06-21 | 网易(杭州)网络有限公司 | 移动终端上的测试方法及装置、电子设备、存储介质 |
CN110196798A (zh) * | 2019-06-06 | 2019-09-03 | 百度在线网络技术(北京)有限公司 | 性能数据确定方法、装置、设备和可读存储介质 |
CN110557318B (zh) * | 2019-08-21 | 2022-06-24 | 上海数烨数据科技有限公司 | 一种实现iot设备安全远程操作的方法 |
CN111124886A (zh) * | 2019-11-22 | 2020-05-08 | 广东外语外贸大学 | 基于安卓车载系统的自动化测试系统及测试方法 |
CN112199272B (zh) * | 2020-09-08 | 2024-10-01 | 深圳市金锐显数码科技有限公司 | 一种智能终端的测试方法、装置、终端设备及介质 |
CN114253621B (zh) * | 2020-09-11 | 2024-09-17 | 深圳Tcl数字技术有限公司 | 终端的运行环境的配置方法、计算机设备及可读存储介质 |
CN112328467B (zh) * | 2020-09-17 | 2022-06-28 | 北京中数科技术有限公司 | 一种嵌入式系统程序测试方法及装置 |
CN112579377B (zh) * | 2020-12-18 | 2023-02-14 | 福建新大陆支付技术有限公司 | 用于pos机性能监控的测试方法及存储介质 |
CN112667547A (zh) * | 2020-12-31 | 2021-04-16 | 神思旭辉医疗信息技术有限责任公司 | 一种pc终端与安卓终端之间的通信方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101027971B1 (ko) * | 2010-12-10 | 2011-04-13 | (주)헬릭스테크 | 애플리케이션 검사 가능한 이동통신 단말기 및 그 검사 방법 |
CN105279077A (zh) * | 2014-06-24 | 2016-01-27 | 腾讯科技(深圳)有限公司 | 自动化测试方法和装置 |
CN106776320A (zh) * | 2016-12-16 | 2017-05-31 | 四川长虹电器股份有限公司 | 安卓智能终端自动化测试系统及方法 |
-
2018
- 2018-06-27 CN CN201810679162.0A patent/CN108874677B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101027971B1 (ko) * | 2010-12-10 | 2011-04-13 | (주)헬릭스테크 | 애플리케이션 검사 가능한 이동통신 단말기 및 그 검사 방법 |
CN105279077A (zh) * | 2014-06-24 | 2016-01-27 | 腾讯科技(深圳)有限公司 | 自动化测试方法和装置 |
CN106776320A (zh) * | 2016-12-16 | 2017-05-31 | 四川长虹电器股份有限公司 | 安卓智能终端自动化测试系统及方法 |
Non-Patent Citations (1)
Title |
---|
深入Android 【三】 —— 组件入门;weixin_34198797;《https://blog.csdn.net/weixin_34198797/article/details/89774138》;20171114;第1-2页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108874677A (zh) | 2018-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108874677B (zh) | 一种安卓终端及其测试方法和系统 | |
US11340859B2 (en) | Synchronous display method, storage medium and electronic device | |
CN113553257B (zh) | 测试方法、装置、存储介质及电子设备 | |
CN110096380B (zh) | Android内部通讯方法、系统、装置及存储介质 | |
CN108199942A (zh) | 汽车诊断方法、装置、设备、系统和诊断连接设备 | |
CN107797922B (zh) | 应用页面的测试方法、电子装置及电子设备 | |
CN108304326B (zh) | 安卓智能终端自动化测试系统和方法 | |
CN110457154A (zh) | 异常服务处理方法及装置、存储介质、通信终端 | |
CN106406940A (zh) | 系统升级方法、装置及终端 | |
CN112333057A (zh) | 智能家居设备配网测试方法及装置、执行机、存储介质 | |
CN111723002A (zh) | 一种代码调试方法、装置、电子设备及存储介质 | |
CN110837466A (zh) | 一种基于源代码打桩的嵌入式软件动态测试方法 | |
CN107704499A (zh) | 一种应用程序的页面跳转控制方法及装置 | |
CN108920379B (zh) | 捕获lua代码异常的方法和装置 | |
CN103002492A (zh) | 一种移动终端的通信测试方法及装置 | |
CN111050333A (zh) | 一种基站自动化测试方法及系统 | |
CN111427776A (zh) | 一种智能设备自动化测试方法及装置 | |
CN109144850B (zh) | 移动终端的交互通信的测试方法及系统 | |
CN213213488U (zh) | 自动化测试系统 | |
CN105279077A (zh) | 自动化测试方法和装置 | |
JP2023519774A (ja) | 自動化テスト方法、装置、電子デバイス、記憶媒体、及びプログラム | |
CN110336712B (zh) | 移动终端抓取空中包的方法、装置、存储介质与移动终端 | |
CN117112393A (zh) | 应用程序的调试方法、装置、电子设备和存储介质 | |
CN104424198A (zh) | 一种页面显示速度的获取方法及装置 | |
CN108009084B (zh) | 一种混合移动应用的测试方法、装置及系统 |
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 |