CN112882953A - 基于安卓调试桥的应用程序的自动演示方法和系统 - Google Patents
基于安卓调试桥的应用程序的自动演示方法和系统 Download PDFInfo
- Publication number
- CN112882953A CN112882953A CN202110312571.9A CN202110312571A CN112882953A CN 112882953 A CN112882953 A CN 112882953A CN 202110312571 A CN202110312571 A CN 202110312571A CN 112882953 A CN112882953 A CN 112882953A
- Authority
- CN
- China
- Prior art keywords
- demonstration
- terminal
- automatic
- script
- time points
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000013515 script Methods 0.000 claims abstract description 118
- 238000011161 development Methods 0.000 claims abstract description 105
- 230000004044 response Effects 0.000 claims abstract description 20
- 230000008569 process Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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/362—Software debugging
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)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于安卓调试桥的应用程序的自动演示方法、自动演示系统、计算机可读存储介质和计算机设备,本发明实施例的自动演示方法包括:启动应用程序;通过安卓调试桥连接开发装置,并通过安卓调试桥向开发装置发送终端的配置信息;响应于用户的第一操作启动预设置在开发装置中且与终端对应的自动演示脚本,自动演示脚本包括按照时间顺序存储的多个演示时间点和与演示时间点一一对应的多个演示指令,自动演示脚本运行时按照演示时间点通过安卓调试桥向终端发送对应的演示指令。本发明提供的应用于安装有应用程序的终端的自动演示方法,通过安卓调试桥连接开发装置,并运行开发装置中的自动演示脚本以通过安卓调试桥向终端发送演示指令从而实现终端中应用程序的自动演示。
Description
技术领域
本发明涉及调试技术领域,特别是涉及一种基于安卓调试桥的应用程序的自动演示方法、自动演示系统、计算机可读存储介质和计算机设备。
背景技术
在我们日常对应用程序(APP)的体验理解学习过程中,例如展会、展览、演示、测试等环节,通常需要采用人工实际操作演示或者通过录制演示视频宣传片等方式来进行。人工演示很容易出现人为的操作失误,导致演示效果不理想的情况出现,而且需要人工一遍又一遍地重复演示,从而带来较大的人力成本。而通过录制视频的方式,则会带来很大的视频制作成本以及演示效果与实机效果存在较大差距的情况。而且,如果一个APP在发布时候又进行了用户界面(UI)等修改,就会导致前期制作的演示视频与实际的APP不一致,导致视频的报废,进一步提高了成本。
发明内容
为了解决上述问题至少之一,本发明第一个实施例提供一种基于安卓调试桥的应用程序的自动演示方法,应用于安装应用程序的终端,包括:
启动应用程序;
通过安卓调试桥连接开发装置,并通过安卓调试桥向开发装置发送终端的配置信息;
响应于用户的第一操作启动预设置在开发装置中且与终端对应的自动演示脚本,自动演示脚本包括按照时间顺序存储的多个演示时间点和与演示时间点一一对应的多个演示指令,自动演示脚本运行时按照演示时间点通过安卓调试桥向终端发送对应的演示指令。
在一些可选的实施例中,在响应于用户的第一操作启动预设置在开发装置中且与终端对应的自动演示脚本之前,自动演示方法还包括:
响应于用户的第二操作使得开发装置通过安卓调试桥录制终端的自动演示脚本。
在一些可选的实施例中,响应于用户的第二操作使得开发装置通过安卓调试桥录制终端的自动演示脚本进一步包括:
接收并显示开发装置通过安卓调试桥传输的录制请求;
响应于用户的第二操作启动自动演示脚本的录制;
响应于用户的第三操作依次执行多项操作,使得开发装置通过安卓调试桥按照多项操作的过程顺序录制各操作的操作时间点和与各操作时间点一一对应的操作指令以生成自动演示脚本,其中操作时间点对应于自动演示脚本的演示时间点,操作指令对应于自动演示脚本的演示指令。
在一些可选的实施例中,第三操作包括输入数据、点击坐标和触摸轨迹中的至少一项。
本发明第二个方面提供一种基于安卓调试桥的应用程序的自动演示方法,应用于开发应用程序的开发装置,包括:
响应于终端的连接请求通过安卓调试桥连接终端并接收终端发送的配置信息;
根据配置信息选择对应的预设置的自动演示脚本,通过安卓调试桥向终端发送演示请求并根据终端反馈的演示指令运行自动演示脚本,自动演示脚本包括按照时间顺序存储的多个演示时间点和与演示时间点一一对应的多个演示指令,自动演示脚本运行时按照演示时间点通过安卓调试桥向终端发送对应的演示指令。
在一些可选的实施例中,在根据配置信息选择对应的预设置的自动演示脚本,通过安卓调试桥向终端发送演示请求并根据终端反馈的演示指令运行自动演示脚本之前,自动演示方法还包括:
通过安卓调试桥向终端发送录制请求并根据终端反馈的录制指令录制终端的自动演示脚本。
在一些可选的实施例中,通过安卓调试桥向终端发送录制请求并根据终端反馈的录制指令录制终端的自动演示脚本进一步包括:
通过安卓调试桥向终端发送录制请求并根据终端反馈的录制指令启动自动演示脚本的录制;
通过安卓调试桥按照终端执行的多项操作的过程,顺序录制各操作的操作时间点并作为演示时间点、以及顺序录制与各操作的操作时间点一一对应的操作指令作为演示指令以生成自动演示脚本。
在一些可选的实施例中,在通过安卓调试桥按照终端执行的多项操作的过程,顺序录制各操作的操作时间点并作为演示时间点、以及顺序录制与各操作的操作时间点一一对应的操作指令作为演示指令以生成自动演示脚本之后,自动演示方法还包括:
对自动演示脚本进行编辑以增加相邻演示时间点之间的时间间隔。
在一些可选的实施例中,
在根据配置信息选择对应的预设置的自动演示脚本,通过安卓调试桥向终端发送演示请求并根据终端反馈的演示指令运行自动演示脚本之前,自动演示方法还包括:
在应用程序的代码中设置多个埋点,在各埋点位置记录代码的运行信息并存储在应用程序的运行日志中;
根据配置信息选择对应的预设置的自动演示脚本,通过安卓调试桥向终端发送演示请求并根据终端反馈的演示指令运行自动演示脚本进一步包括:
根据运行日志的运行信息判断该运行信息是否正常,若否则通过安卓调试桥向终端发送与运行信息对应的演示指令;
在根据配置信息选择对应的预设置的自动演示脚本,通过安卓调试桥向终端发送演示请求并根据终端反馈的演示指令运行自动演示脚本之后,自动演示方法还包括:
读取并分析运行日志以生成终端的演示分析报告。
本发明的第三个方面提供一种自动演示系统,包括实现上文第一个方面所述的自动演示方法的终端,以及实现上文第二个方面所述的自动演示方法的开发装置,其中
终端被配置为启动应用程序,通过安卓调试桥连接开发装置,并通过安卓调试桥向开发装置发送终端的配置信息;
开发装置被配置为根据配置信息选择对应的预设置的自动演示脚本,通过安卓调试桥向终端发送演示请求,自动演示脚本包括按照时间顺序存储的多个演示时间点和与演示时间点一一对应的多个演示指令,自动演示脚本运行时按照演示时间点通过安卓调试桥向终端发送对应的演示指令;
终端被配置为响应于用户的第一操作启动预设置在开发装置中且与终端对应的自动演示脚本。
本发明的第四个方面提供一种计算机可读存储介质,其上存储有计算机程序,
该程序被处理器执行时实现上文第一个方面所述的自动演示方法;或者
该程序被处理器执行时实现上文第二个方面所述的自动演示方法。
本发明的第五个方面一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,
处理器执行程序时实现上文第一个方面所述的自动演示方法;或者
处理器执行程序时实现上文第二个方面所述的自动演示方法。
本发明的有益效果如下:
本发明针对目前现有的问题,制定一种基于安卓调试桥的应用程序的自动演示方法、自动演示系统、计算机可读存储介质和计算机设备,安装有应用程序的终端通过安卓调试桥连接开发装置,并运行开发装置中的自动演示脚本以通过安卓调试桥向终端发送演示指令从而实现终端中应用程序的自动演示,具有广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本发明的一个实施例的应用于终端的自动演示方法的示例性流程图。
图2示出本发明的一个实施例可以应用于其中的示例性系统架构图。
图3示出根据本发明的实施例的自动演示方法的示例性通信流图。
图4示出本发明的另一个实施例所述的一种计算机设备的结构示意图。
具体实施方式
为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。
需要说明的是,本发明中描述的“具有”、“包含”、“包括”等均为开式的含义,即,当描述模块“具有”、“包含”或“包括”第一元件、第二元件和/或第三元件时,表示该模块除了第一元件、第二元件和/或第三元件外还包括其他的元件。另外,本发明中“第一”、“第二”和“第三”等序数词并不旨在限定具体的顺序,而仅在于区分各个部分。
为了解决以上问题之一,如图1所示,本发明的一个实施例提供了一种基于安卓调试桥(Android Debug Bridge,ADB)的应用程序的自动演示方法,应用于安装应用程序的终端,包括:
S1、启动应用程序;
S2、通过ADB连接开发装置,并通过ADB向开发装置发送终端的配置信息;
S3、响应于用户的第一操作启动预设置在开发装置中且与终端对应的自动演示脚本,自动演示脚本包括按照时间顺序存储的多个演示时间点和与演示时间点一一对应的多个演示指令,自动演示脚本运行时按照演示时间点通过ADB向终端发送对应的演示指令。
在本实施例中,安装有应用程序的终端通过安卓调试桥连接开发装置,并运行开发装置中的自动演示脚本以通过安卓调试桥向终端发送演示指令从而实现终端中应用程序的自动演示,具有广泛的应用前景。
在一个具体的示例中,参照图2所示,图中示出了应用本发明实施例的自动演示系统,包括安装有应用程序的终端200和开发该应用程序的开发装置100,开发装置100和终端200之间可以通过USB、Wifi等有线或无线方式通信连接。
开发装置100上装载有用于开发安卓系统应用程序的开发工具,在本申请的实施例中,使用的开发工具为Qt,该开发工具上还装载有ADB。ADB通常放在例如,Android SDK(Software Development Kit,软件开发工具包)等开发工具包中,在本发明实施例的开发装置100的开发环境中,通过ADB能够建立终端200与开发工具之间的通信。
终端200是基于Android系统的硬件设备,其可以是手机、平板电脑、笔记本电脑等。终端200通过与开发装置100建立有线或无线方式的通信,并通过ADB与开发装置100上安装的开发工具建立通信连接,即,终端200通过ADB向开发工具发送终端200的配置信息、同时通过ADB接收开发工具发送的指令等。
终端200上安装有应用程序,应用程序可以是支持在Android系统环境下运行的各种应用程序,例如,网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等,用户通过对设置在终端200上的触摸屏、软键盘等的操作以启动和应用应用程序的各项操作功能。
应该理解,图2中的终端200的数目仅仅是示意性的。根据实现需要,可以具有任意合适数目的终端200。
继续结合图3所示的通信流图,若需在终端200上根据自动演示脚本演示装载在该终端200上的一个应用程序,以已经预先在开发装置100上实现编写好录入程序为前提,并已经启动该录入程序,本领域技术人员应理解,该录入程序通常由QT或C++等语言编写,包括脚本录入程序和bat脚本等。因本文并不旨在限制具体程序内容,这里不再赘述,也未在图3中详细示出。
首先,在步骤S1中,启动终端200上的待演示的应用程序(下称应用程序)。
在步骤S2中,通过ADB连接开发装置100,并通过ADB向开发装置100发送终端的配置信息。
终端200与开发装置100之间可以通过USB、Wifi等有线或无线方式建立通信连接。具体地,在步骤S201中,终端200向开发装置100发送连接请求,开发装置100响应于该连接请求通过ADB与终端200连接。建立连接后,终端200通过ADB向开发装置100发送其配置信息。配置信息包括但不限于:设备用户ID、设备型号、设备厂家、CPU参数、屏幕分辨率、当前设备码等。
开发装置100通过基于ADB接收终端的配置信息,能够使得在随后录制并生成的自动演示脚本中准确生成与该终端200匹配的操作,例如,准确获得在终端的具体位置的点击操作以生成准确的演示指令,详细原理见下文。
进一步地,响应于用户在终端200上的第二操作,开发装置通过ADB录制终端的自动演示脚本。
具体地,在步骤S202中,开发装置100通过ADB向终端200发送录制请求,基于该录制请求,用户例如在终端200的显示屏上显示的选择窗口选择录制选项或者在点击显示屏上的录制按钮等第二操作,从而在步骤S203中基于该第二操作形成了向开发装置100反馈的录制指令,即,响应于用户的第二操作启动了自动演示脚本的录制。启动录制后,用户在终端200上进行第三操作,例如包括输入数据、点击坐标、触摸轨迹中的至少一项,响应于该第三操作,终端200依次执行多项操作。这些操作即为需要演示的常规操作。例如,若需要演示的程序为微信,则用户可以在终端200上点击开启微信、搜索添加好友、浏览朋友圈、发布朋友圈等一系列常规操作。
响应于用户的第三操作,在步骤S204中,使得开发装置100通过ADB按照这些操作的过程,顺序录制各操作的操作时间点和与各操作时间点一一对应的操作指令以生成自动演示脚本,其中操作时间点对应于自动演示脚本的演示时间点,操作指令对应于自动演示脚本的演示指令。当操作包括点击时,操作指令包括每次点击对应的坐标信息。
值得一提的是,因为往往不同的终端,物理配置不同,使得例如屏幕大小以及屏幕分辨率等与屏幕位置有关的参数也不同。在本申请的实施例中,因为通过ADB接收终端200的配置信息,从而生成的自动演示脚本中记录的各个操作时间点一一对应的操作指令中包括的位置信息是与该终端200相匹配的,从而使得准确生成与该终端200匹配的演示指令。
在本发明的实施例中,开发装置通过生成的自动演示脚本包括按照时间顺序存储的多个演示时间点和与所述演示时间点一一对应的多个演示指令,从而使得能够使ADB基于自动演示脚本自动向终端200发送演示指令,实现了自动演示过程。
考虑到终端200与开发装置100之间通过网络建立通信时可能会出现网络延时的问题,在一些可选的实施例中,开发装置100在生成自动演示脚本后,在步骤S205中,对自动演示脚本进行编辑。
例如,可以对自动演示脚本进行编辑以增加相邻演示时间点之间的时间间隔。从而获取更好的演示效果,通过对自动演示脚本进行延时编辑,一方面能够避免网络延时造成的界面和命令不一致,另一方面通过延时编辑,演示时较慢的操作也可以更好地为前来参观学习的用户提供足够的时间来学习和理解应用程序的演示过程。
另外,因为在实际操作过程中,难免在录入时候出现因用户的误操作等在未来演示时不希望的操作画面,通过编辑功能可以删除因误操作录制的操作事件,包括操作时间点和对应的操作指令。
进一步,还可以通过编辑功能对每一个操作进行事件名称的编辑,以便于查找、增加或删除操作事件等。
在步骤S3中,响应于用户的第一操作启动预设置在开发装置100中且与终端200对应的自动演示脚本。
具体地,在步骤S301中,在开发装置100的开发工具的开发模式下,可以根据配置信息选择对应的预设置的自动演示脚本。例如根据配置信息中包括的根据终端200预设置的用户ID、设备型号等选择预先录制并存储的自动演示脚本。
本领域技术人员应理解,在本申请的实施例中,预设置在开发装置100,并不旨在限定该开发装置100为录制自动演示脚本的特定开发装置,其只要是安装有能够运行录入程序、装载有ADB的开发工具即可。也就是说,预先录制的自动演示脚本可以在用于演示的该开发装置上完成录制,也可以通过Wifi、USB、蓝牙、互联网等通信方式传输或下载到用于演示的开发装置100。
具体地,终端200与开发装置100通过ADB通信连接并通过ADB向开发装置100发送配置信息。根据配置信息,开发装置100选择对应的自动演示脚本,并将延时请求发送至终端,并在终端上显示提示信息以便于用户操作,例如在终端200上显示“启动演示?”的窗口,还可以通过在终端200的提示窗口中显示“确认”和“取消”按键以便于用户进行选择。
进一步地,在开发装置100上存储有同一终端100的多个自动演示脚本时,开发装置100在显示请求中包括多个自动演示脚本,例如在终端上显示带有多个自动演示脚本的选择窗口,在用户选择要执行演示的自动演示脚本并点击“确认”按键后,开发装置100自动读取当前所连接的终端列表,根据配置信息进行设备匹配,成功匹配后运行自动演示脚本。
用户通过第一操作启动演示,例如点击“确认”按键,开发装置100启动自动演示,在步骤S301中,根据运行终端200对应的自动演示脚本,通过ADB向终端200发送演示指令。因为自动演示脚本包括按照时间顺序存储的多个演示时间点和与演示时间点一一对应的多个演示指令,因此ADB按照上述演示时间点自动向终端200发送演示指令。例如:
模拟输入“001”,则通过ADB向终端发送“adb shell input text“001””;
模拟home按键,则通过ADB向终端发送“adb shell input keyevent 3”;
模拟点击(540,1104)坐标,则通过ADB向终端发送“adb shell input tap5401104”;
模拟滑动,从(250,250)滑动到(300,300);则通过ADB向终端发送“adb shellinput swipe 250 250 300 300”。
通过以上方式,通过利用ABD连接终端200与开发装置100,使得能够通过ADB向开发装置100发送终端的配置信息,基于该配置信息选择并运行该终端对应的自动演示脚本,并基于ADB发送演示指令,从而利用ADB的调试功能优势,实现对应用程序的自动演示,降低了人力成本,并优化了演示效果。
在一些可选的实施例中,在应用程序的代码中,还设置有多个埋点,在各埋点位置记录代码的运行信息并存储在应用程序的运行日志中。在这样的情况下,开发装置100在根据配置信息选择对应的预设置的自动演示脚本,通过安卓调试桥向所述终端发送演示请求并根据所述终端反馈的演示指令运行所述自动演示脚本时还包括:根据运行日志的运行信息判断该运行信息是否正常,若否则通过ADB向终端200发送与运行信息对应的演示指令。
运行信息包括但不限于每个按钮位置的点击事件、页面的跳转等,在演示指令运行时,读取这些运行信息就相当于得到当前操作的执行结果,而通过设置埋点,当开发装置100根据运行信息判断该运行信息为不正常时,则通过ADB再次发送相应的演示指令,从而能够重新执行相应的演示指令以完成该步演示操作,保证演示过程不会中断。另外,还可以设置重复发送的次数阈值,例如经过预定次数的重试后均失败,则跳过该步演示继续后面的操作演示,从而通过该方式进一步保证演示过程能够持续演示,不会中断。
此外,可选地,自动演示方法还包括:读取并分析运行日志以生成终端200的演示分析报告,以用于对应用程序的稳定性进行分析和接口的稳定性进行分析。
基于同一个发明构思,如图1所示,本发明的实施例还提供了一种自动演示系统,包括实现上文所述的自动演示方法的终端和开发装置,其中
终端200被配置为启动应用程序,通过ADB连接开发装置,并通过安卓调试桥向所开发装置发送终端的配置信息;
开发装置100被配置为根据配置信息选择对应的预设置的自动演示脚本,通过ADB向终端200发送演示请求;
终端200被配置为响应于用户的第一操作启动预设置在开发装置100中且与终端200对应的自动演示脚本,自动演示脚本包括按照时间顺序存储的多个演示时间点和与演示时间点一一对应的多个演示指令,自动演示脚本运行时按照演示时间点通过ADB向终端200发送对应的演示指令。
在本实施例中,通过利用ABD连接终端与开发装置,使得开发装置能够通过ADB接收终端的配置信息,基于该配置信息选择并运行该终端对应的自动演示脚本,并基于ADB发送演示指令,从而利用ADB的调试功能优势,实现对应用程序的自动演示,降低了人力成本,并优化了演示效果。
本发明的另一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现:
启动应用程序;通过ADB连接开发装置,并通过ADB向开发装置发送终端的配置信息;
响应于用户的第一操作启动预设置在开发装置中且与终端对应的自动演示脚本,自动演示脚本包括按照时间顺序存储的多个演示时间点和与演示时间点一一对应的多个演示指令,自动演示脚本运行时按照演示时间点通过ADB向终端发送对应的演示指令。
本发明的另一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现:
响应于终端的连接请求通过ADB连接终端并接收终端发送的配置信息;
根据配置信息选择对应的预设置的自动演示脚本,通过ADB向终端发送演示请求并根据终端反馈的演示指令运行自动演示脚本,自动演示脚本包括按照时间顺序存储的多个演示时间点和与演示时间点一一对应的多个演示指令,自动演示脚本运行时按照演示时间点通过ADB向终端发送对应的演示指令。
在实际应用中,所述计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
如图4所示,本发明的另一个实施例提供的一种计算机设备的结构示意图。图4显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图4所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图4中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的一种应用于安装应用程序的终端的、基于安卓调试桥的应用程序的自动演示方法,或者实现本发明实施例所提供的一种应用于开发应用程序的开发装置的、基于安卓调试桥的应用程序的自动演示方法。
本发明针对目前现有的问题,制定一种基于安卓调试桥的应用程序的自动演示方法、自动演示系统、计算机可读存储介质和计算机设备,安装有应用程序的终端通过安卓调试桥连接开发装置,向开发装置发送终端的配置信息,并运行开发装置中的自动演示脚本以通过安卓调试桥向终端发送演示指令从而实现终端中应用程序的自动演示,具有广泛的应用前景。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。
Claims (12)
1.一种基于安卓调试桥的应用程序的自动演示方法,应用于安装所述应用程序的终端,其特征在于,包括:
启动应用程序;
通过安卓调试桥连接开发装置,并通过所述安卓调试桥向所述开发装置发送终端的配置信息;
响应于用户的第一操作启动预设置在所述开发装置中且与所述终端对应的自动演示脚本,所述自动演示脚本包括按照时间顺序存储的多个演示时间点和与所述演示时间点一一对应的多个演示指令,所述自动演示脚本运行时按照所述演示时间点通过所述安卓调试桥向所述终端发送对应的演示指令。
2.根据权利要求1所述的自动演示方法,其特征在于,在所述响应于用户的第一操作启动预设置在所述开发装置中且与所述终端对应的自动演示脚本之前,所述自动演示方法还包括:
响应于用户的第二操作使得所述开发装置通过所述安卓调试桥录制所述终端的自动演示脚本。
3.根据权利要求2所述的自动演示方法,其特征在于,所述响应于用户的第二操作使得所述开发装置通过所述安卓调试桥录制所述终端的自动演示脚本进一步包括:
接收并显示所述开发装置通过所述安卓调试桥传输的录制请求;
响应于用户的第二操作启动所述自动演示脚本的录制;
响应于用户的第三操作依次执行多项操作,使得所述开发装置通过所述安卓调试桥按照所述多项操作的过程顺序录制各操作的操作时间点和与各操作时间点一一对应的操作指令以生成所述自动演示脚本,其中所述操作时间点对应于所述自动演示脚本的所述演示时间点,所述操作指令对应于所述自动演示脚本的所述演示指令。
4.根据权利要求1所述的自动演示方法,其特征在于,所述第三操作包括输入数据、点击坐标和触摸轨迹中的至少一项。
5.一种基于安卓调试桥的应用程序的自动演示方法,应用于开发所述应用程序的开发装置,其特征在于,包括:
响应于终端的连接请求通过安卓调试桥连接所述终端并接收所述终端发送的配置信息;
根据所述配置信息选择对应的预设置的自动演示脚本,通过所述安卓调试桥向所述终端发送演示请求并根据所述终端反馈的演示指令运行所述自动演示脚本,所述自动演示脚本包括按照时间顺序存储的多个演示时间点和与所述演示时间点一一对应的多个演示指令,所述自动演示脚本运行时按照所述演示时间点通过所述安卓调试桥向所述终端发送对应的演示指令。
6.根据权利要求5所述的自动演示方法,其特征在于,在所述根据所述配置信息选择对应的预设置的自动演示脚本,通过所述安卓调试桥向所述终端发送演示请求并根据所述终端反馈的演示指令运行所述自动演示脚本之前,所述自动演示方法还包括:
通过所述安卓调试桥向所述终端发送录制请求并根据所述终端反馈的录制指令录制所述终端的自动演示脚本。
7.根据权利要求6所述的自动演示方法,其特征在于,所述通过所述安卓调试桥向所述终端发送录制请求并根据所述终端反馈的录制指令录制所述终端的自动演示脚本进一步包括:
通过所述安卓调试桥向所述终端发送录制请求并根据所述终端反馈的录制指令启动所述自动演示脚本的录制;
通过所述安卓调试桥按照所述终端执行的多项操作的过程,顺序录制各操作的操作时间点并作为所述演示时间点、以及顺序录制与各操作时间点一一对应的操作指令作为演示指令以生成所述自动演示脚本。
8.根据权利要求7所述的自动演示方法,其特征在于,在所述通过所述安卓调试桥按照所述终端执行的多项操作的过程,顺序录制各操作的操作时间点并作为所述演示时间点、以及顺序录制与各操作时间点一一对应的操作指令作为演示指令以生成所述自动演示脚本之后,所述自动演示方法还包括:
对所述自动演示脚本进行编辑以增加相邻演示时间点之间的时间间隔。
9.根据权利要求7所述的自动演示方法,其特征在于,
在所述根据所述配置信息选择对应的预设置的自动演示脚本,通过所述安卓调试桥向所述终端发送演示请求并根据所述终端反馈的演示指令运行所述自动演示脚本之前,所述自动演示方法还包括:
在所述应用程序的代码中设置多个埋点,在各埋点位置记录所述代码的运行信息并存储在所述应用程序的运行日志中;
所述根据所述配置信息选择对应的预设置的自动演示脚本,通过所述安卓调试桥向所述终端发送演示请求并根据所述终端反馈的演示指令运行所述自动演示脚本进一步包括:
根据所述运行日志的运行信息判断该运行信息是否正常,若否则通过所述安卓调试桥向所述终端发送与所述运行信息对应的演示指令;
在所述根据所述配置信息选择对应的预设置的自动演示脚本,通过所述安卓调试桥向所述终端发送演示请求并根据所述终端反馈的演示指令运行所述自动演示脚本之后,所述自动演示方法还包括:
读取并分析所述运行日志以生成所述终端的演示分析报告。
10.一种自动演示系统,其特征在于,包括实现权利要求1-4中任一项所述的自动演示方法的终端,以及实现权利要求5-9中任一项所述的自动演示方法的开发装置,其中
所述终端被配置为启动应用程序,通过安卓调试桥连接所述开发装置,并通过所述安卓调试桥向所述开发装置发送所述终端的配置信息;
所述开发装置被配置为根据所述配置信息选择对应的预设置的自动演示脚本,通过所述安卓调试桥向所述终端发送演示请求,所述自动演示脚本包括按照时间顺序存储的多个演示时间点和与所述演示时间点一一对应的多个演示指令,所述自动演示脚本运行时按照所述演示时间点通过所述安卓调试桥向所述终端发送对应的演示指令;
所述终端被配置为响应于用户的第一操作启动预设置在所述开发装置中且与所述终端对应的自动演示脚本。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,
该程序被处理器执行时实现如权利要求1-4中任一项所述的自动演示方法;或者
该程序被处理器执行时实现如权利要求5-9中任一项所述的自动演示方法。
12.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,
所述处理器执行所述程序时实现如权利要求1-4中任一项所述的自动演示方法;
或者
所述处理器执行所述程序时实现如权利要求5-9中任一项所述的自动演示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110312571.9A CN112882953B (zh) | 2021-03-24 | 2021-03-24 | 基于安卓调试桥的应用程序的自动演示方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110312571.9A CN112882953B (zh) | 2021-03-24 | 2021-03-24 | 基于安卓调试桥的应用程序的自动演示方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112882953A true CN112882953A (zh) | 2021-06-01 |
CN112882953B CN112882953B (zh) | 2024-08-13 |
Family
ID=76041933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110312571.9A Active CN112882953B (zh) | 2021-03-24 | 2021-03-24 | 基于安卓调试桥的应用程序的自动演示方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112882953B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590010A (zh) * | 2021-08-23 | 2021-11-02 | 中国银行股份有限公司 | 基于Android平台的数据采集方法及装置 |
CN114064060A (zh) * | 2021-11-29 | 2022-02-18 | 安天科技集团股份有限公司 | 背景流量生成方法、装置、计算设备及存储介质 |
CN115277202A (zh) * | 2022-07-28 | 2022-11-01 | 四川封面传媒科技有限责任公司 | 一种用于安卓app的自动化数据采集系统及方法 |
US11909807B2 (en) | 2022-05-18 | 2024-02-20 | Demostack, Inc. | Local recording for demonstration of web-based software applications |
US12019699B2 (en) | 2021-10-07 | 2024-06-25 | Demostack, Inc. | Visual recorder for demonstrations of web-based software applications |
WO2024182012A1 (en) * | 2023-03-01 | 2024-09-06 | Demostack Inc. | Mobile application cloning |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104679654A (zh) * | 2015-02-26 | 2015-06-03 | 百度在线网络技术(北京)有限公司 | 测试应用程序的方法、设备及系统 |
WO2020025068A1 (zh) * | 2018-08-03 | 2020-02-06 | 中兴通讯股份有限公司 | 文件展示的方法、装置、系统、移动终端和显示终端 |
CN111698499A (zh) * | 2020-06-30 | 2020-09-22 | 深圳创维-Rgb电子有限公司 | 基于gms测试的自动化连接方法、终端设备及可读存储介质 |
-
2021
- 2021-03-24 CN CN202110312571.9A patent/CN112882953B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104679654A (zh) * | 2015-02-26 | 2015-06-03 | 百度在线网络技术(北京)有限公司 | 测试应用程序的方法、设备及系统 |
WO2020025068A1 (zh) * | 2018-08-03 | 2020-02-06 | 中兴通讯股份有限公司 | 文件展示的方法、装置、系统、移动终端和显示终端 |
CN111698499A (zh) * | 2020-06-30 | 2020-09-22 | 深圳创维-Rgb电子有限公司 | 基于gms测试的自动化连接方法、终端设备及可读存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590010A (zh) * | 2021-08-23 | 2021-11-02 | 中国银行股份有限公司 | 基于Android平台的数据采集方法及装置 |
US12019699B2 (en) | 2021-10-07 | 2024-06-25 | Demostack, Inc. | Visual recorder for demonstrations of web-based software applications |
CN114064060A (zh) * | 2021-11-29 | 2022-02-18 | 安天科技集团股份有限公司 | 背景流量生成方法、装置、计算设备及存储介质 |
US11909807B2 (en) | 2022-05-18 | 2024-02-20 | Demostack, Inc. | Local recording for demonstration of web-based software applications |
CN115277202A (zh) * | 2022-07-28 | 2022-11-01 | 四川封面传媒科技有限责任公司 | 一种用于安卓app的自动化数据采集系统及方法 |
WO2024182012A1 (en) * | 2023-03-01 | 2024-09-06 | Demostack Inc. | Mobile application cloning |
Also Published As
Publication number | Publication date |
---|---|
CN112882953B (zh) | 2024-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112882953B (zh) | 基于安卓调试桥的应用程序的自动演示方法和系统 | |
US9342237B2 (en) | Automated testing of gesture-based applications | |
US10853232B2 (en) | Adaptive system for mobile device testing | |
CN106971009B (zh) | 语音数据库生成方法及装置、存储介质、电子设备 | |
CN111427803B (zh) | 自动化随机测试方法、装置、计算机设备及介质 | |
CN110716853A (zh) | 一种测试脚本录制方法、应用程序测试方法和相关装置 | |
CN110825370B (zh) | 移动端应用开发方法、装置及系统 | |
CN108170494B (zh) | 一种用于智能终端的应用程序启动方法及启动系统 | |
WO2018118166A1 (en) | System and method for testing program using user interaction | |
CN113505082B (zh) | 应用程序测试方法及装置 | |
WO2020096665A2 (en) | System error detection | |
US9454463B2 (en) | Rapid automation front-end framework library and executable graphic user interface testing system and method | |
CN112866312A (zh) | 一种脚本生成方法、远程操作方法及相关设备 | |
CN111414309A (zh) | 应用程序的自动化测试方法、计算机设备和存储介质 | |
CN111324531A (zh) | 一种应用程序的测试方法、装置、电子设备及存储介质 | |
CN109753437B (zh) | 测试程序生成方法及装置、存储介质、电子设备 | |
CN113608997B (zh) | 一种应用程序内嵌网页的远程调试方法、装置和电子设备 | |
CN110674023B (zh) | 一种接口测试方法和装置 | |
CN113709243A (zh) | 设备远程控制方法及装置、电子设备和存储介质 | |
CN113656301A (zh) | 一种接口测试方法、装置、设备及存储介质 | |
CN109240928A (zh) | 一种测试方法、装置、设备及存储介质 | |
CN110958243A (zh) | 一种网络漏洞提交方法、装置、存储介质及电子设备 | |
CN116662193A (zh) | 页面测试方法和装置 | |
CN114745313A (zh) | 终端远程测试方法、装置、电子设备和可读介质 | |
CN114546850A (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 |