CN105227597A - 一种获取终端设备屏幕画面的方法、装置及系统 - Google Patents

一种获取终端设备屏幕画面的方法、装置及系统 Download PDF

Info

Publication number
CN105227597A
CN105227597A CN201410256070.3A CN201410256070A CN105227597A CN 105227597 A CN105227597 A CN 105227597A CN 201410256070 A CN201410256070 A CN 201410256070A CN 105227597 A CN105227597 A CN 105227597A
Authority
CN
China
Prior art keywords
screen
terminal equipment
measured terminal
picture
equipment
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.)
Pending
Application number
CN201410256070.3A
Other languages
English (en)
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 CN201410256070.3A priority Critical patent/CN105227597A/zh
Publication of CN105227597A publication Critical patent/CN105227597A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Telephone Function (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种获取终端设备的屏幕画面的方法,测试设备在需要获取被测终端设备的屏幕画面时,直接通过ADB驱动调用所述被测终端设备内置的屏幕获取工具,以对所述被测终端设备当前的屏幕画面进行截取,从而在不影响被测终端设备测试稳定性的前提下,能够始终获取该被测终端的清晰屏幕截图,提高了自动化测试流程的处理效率和操作控制的准确性。本申请同时还公开了一种测试设备以及自动化测试系统。

Description

一种获取终端设备屏幕画面的方法、装置及系统
技术领域
本申请涉及通信技术领域,特别涉及一种获取终端设备的屏幕画面的方法。本申请同时还涉及一种获取终端设备的屏幕画面的装置及系统。
背景技术
截屏是一种截取图片或文字的途径,也是一种计算机运用技术。通过这种技术可以从网上截取下自己感兴趣的文章图片供自己使用观看,可以帮助人们更好的去理解使用知识。相应的,在涉及到移动终端设备的自动化测试系统中,为了记录重要的数据及状态信息,同样需要对移动终端设备进行截屏处理。
在现有技术中,如果需要对Android终端设备进行相关操作的话,一般都是使用Android的ADB(调试桥)驱动实现与终端设备的通信。ADB为SDK的Tools文件夹下所包含的Android模拟器操作的重要命令,其全称为AndroidDebugBridge,借助这个工具,可以管理设备或终端设备模拟器的状态,还可以进行以下的操作:
(1)快速更新设备或终端设备模拟器中的代码,如应用或Android系统升级;
(2)在设备上运行Shell命令;
(3)管理设备或终端设备模拟器上的预定端口;
(4)在终端设备模拟器上复制或粘贴文件。
在利用ADB与终端设备进行通信前,需要在PC端电脑上安装包含在SDK的客户端,终端设备上不需要安装任何程序,只需要在该终端设备上打开相应的选项(Settings-Applications-Development-USBdebugging)即可。然而,若利用ADB驱动获取终端设备的屏幕截图,那么还需要针对该终端设备进行Root处理以获取该终端设备的最高系统权限,这样方能读取系统中的屏幕画面。此外,由于目前Android终端设备的截屏方案是通过ADB命令先在终端设备中产生屏幕截图的初始图片,该初始图片在随后的传输处理过程中会被压缩。因此现有的终端设备截屏方案不仅需要获取终端设备的最高系统权限,而且还存在截屏清晰度低、易出现黑屏截图、以及被测终端设备不稳定所导致的内存泄漏的问题,导致自动化测试过程中所得到的截屏无法满足异常排查和问题定位的需求。这些问题将会导致正常的测试流程无法进行下去,使自动化测试的效率大打折扣,而且,测试过程中一旦进入异常状态,只能采用人工干预的办法,这样的处理需要安排专人操作,降低了测试效率,影响了自动化测试的效果。
发明内容
本申请提供一种获取终端设备的屏幕画面的方法、装置及系统,解决现有技术中终端设备的屏幕画面截取机制不完善的问题。
为达到上述目的,本申请实施例一方面提供了一种获取被测终端设备的屏幕画面的方法,应用于包括测试设备以及被测终端设备的自动化测试系统中,该方法至少包括以下步骤:
当需要获取被测终端设备的屏幕画面时,所述测试设备接收到屏幕获取请求消息;
所述测试设备通过ADB驱动调用所述被测终端设备内置的屏幕获取工具,以对所述被测终端设备当前的屏幕画面进行截取。
另一方面,本申请实施例还提供了一种测试设备,应用于包括所述测试设备以及被测终端设备的自动化测试系统中,包括:
接收模块,用于在需要获取被测终端设备的屏幕画面时接收屏幕获取请求消息;
调用模块,用于通过ADB驱动调用所述被测终端设备内置的屏幕获取工具,以对所述被测终端设备当前的屏幕画面进行截取。
另一方面,本申请实施例还提供了一种自动化测试系统,包括被测终端设备,还包括:
测试设备,用于在需要获取被测终端设备的屏幕画面时接收屏幕获取请求消息,并通过ADB驱动调用所述被测终端设备内置的屏幕获取工具,以对所述被测终端设备当前的屏幕画面进行截取。
与现有技术相比,本申请实施例所提出的技术方案具有以下优点:
通过应用本申请实施例的技术方案,测试设备在需要获取被测终端设备的屏幕画面时,直接通过ADB驱动调用所述被测终端设备内置的屏幕获取工具,以对所述被测终端设备当前的屏幕画面进行截取,从而在不影响被测终端设备测试稳定性的前提下,能够始终获取该被测终端的清晰屏幕截图,提高了自动化测试流程的处理效率和操作控制的准确性。
附图说明
图1为本申请实施例所提出的一种获取终端设备屏幕画面的方法的流程示意图;
图2为本申请实施例提出的一种测试设备的结构示意图。
具体实施方式
如背景技术所述,现有技术中自动化测试框架提供截屏方案存在截屏清晰度低、易出现黑屏截图、易导致内存泄漏的问题,导致自动化测试过程截屏无法满足异常排查和问题定位的需求。从而使得正常的测试流程不能顺利执行,影响自动化测试的效果和效率。
针对上述问题,本申请实施例提出了一种获取终端设备屏幕画面的方法,通过使用测试设备,简化了截屏操作。具体地,该方案通过使用ADB驱动,避免了需要root权限才可以读取被测终端设备中指定内容的限制,即不需要获取被测终端设备的最高系统权限也可以获取屏幕高清截图。消除了截图对应用稳定性的影响,同时提升了自动化测试的效率以及性能。
如图1所示,为本申请实施例所提出的一种获取终端设备屏幕画面的方法的流程示意图,该方法具体包括以下步骤:
S101,当需要获取被测终端设备的屏幕画面时,所述测试设备接收到屏幕获取请求消息。
在具体的实施场景中,本申请预先针对用于使用自动化测试系统的各客户端进行参数配置,如需要截图的被测终端设备的信息(ID)以及截图路径等必要信息。
基于上述设置,在需要获取被测终端设备的屏幕画面时,相关的客户端设备即可发送屏幕获取请求消息至测试设备。具体地,该屏幕获取请求消息类型为HTTP请求,随后测试设备将根据该“HttpRequest”,取得及请求“HttpClient”对象,并据此取得“HttpResponse”。
S102,所述测试设备通过ADB驱动调用所述被测终端设备内置的屏幕获取工具,以对所述被测终端设备当前的屏幕画面进行截取。
测试设备接收到屏幕获取请求消息后,即通过ADB驱动调用Android系统截屏工具,进行屏幕截图。具体地,测试设备首先通过所述ADB驱动与所述被测终端设备建立通信连接,随后读取所述被测终端设备中指定目录下图形设备中的屏幕显示内容信息,最终通过所述屏幕获取工具生成所述屏幕画面。在这一系列过程结束后,测试设备通过所述ADB驱动将已截取的屏幕画面回传至所述测试设备,并将所述屏幕画面返回至所述屏幕获取请求消息的发送方。
通过以上读取被测终端设备的图形设备中的屏幕显示内容信息并生成屏幕截图的方案,提高了截屏的清晰度,提供了高清屏幕截图,不但简化了测试框架截图的实现,还消除了截图对应用稳定性的影响,同时提升了框架性能。在此需要指出的是,以上指定目录可为被测终端设备中/dev/graphics/fb0目录,相应的测试设备可以采用无线测试平台进行,具体执行设备及保存目录的差异对本发明的保护范围并无影响。
为了实现本申请实施例的技术方案,本申请实施例还提供了一种测试设备,应用于包括所述测试设备以及被测终端设备的自动化测试系统中,其结构示意图如图2所示,包括:
接收模块210,用于在需要获取被测终端设备的屏幕画面时接收屏幕获取请求消息;
调用模块220,用于通过ADB驱动调用所述被测终端设备内置的屏幕获取工具,以对所述被测终端设备当前的屏幕画面进行截取。
在具体的应用场景中,所述调用模220块具体包括:
通信子模块,用于通过所述ADB驱动与所述被测终端设备建立通信连接;
读取子模块,用于读取所述被测终端设备中指定目录下图形设备中的屏幕显示内容信息;
生成子模块,用于通过所述屏幕获取工具生成所述屏幕画面。
在具体的应用场景中,还包括回传模块,用于在所述调用模块对所述被测终端设备当前的屏幕画面进行截取之后,通过所述ADB驱动将已截取的屏幕画面回传至所述测试设备。
在具体的应用场景中,还包括反馈模块,用于将所述屏幕画面返回至所述屏幕获取请求消息的发送方。
相应地,本申请还提出了一种自动化测试系统,包括被测终端设备,还包括:
测试设备,用于在需要获取被测终端设备的屏幕画面时接收屏幕获取请求消息,并通过ADB驱动调用所述被测终端设备内置的屏幕获取工具,以对所述被测终端设备当前的屏幕画面进行截取。
在具体的应用场景中,所述测试设备具体包括:
接收模块,用于在需要获取被测终端设备的屏幕画面时接收屏幕获取请求消息;
调用模块,用于通过ADB驱动调用所述被测终端设备内置的屏幕获取工具,以对所述被测终端设备当前的屏幕画面进行截取。
与现有技术相比,本申请实施例所提出的技术方案具有以下优点:
通过应用本申请实施例的技术方案,测试设备在需要获取被测终端设备的屏幕画面时,直接通过ADB驱动调用所述被测终端设备内置的屏幕获取工具,以对所述被测终端设备当前的屏幕画面进行截取,从而在不影响被测终端设备测试稳定性的前提下,能够始终获取该被测终端的清晰屏幕截图,提高了自动化测试流程的处理效率和操作控制的准确性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。

Claims (10)

1.一种获取终端设备的屏幕画面的方法,其特征在于,所述方法应用于包括测试设备以及被测终端设备的自动化测试系统中,所述方法包括:
当需要获取被测终端设备的屏幕画面时,所述测试设备接收到屏幕获取请求消息;
所述测试设备通过安卓调试桥ADB驱动调用所述被测终端设备内置的屏幕获取工具,以对所述被测终端设备当前的屏幕画面进行截取。
2.如权利要求1所述的方法,其特征在于,所述测试设备通过ADB驱动调用所述被测终端设备内置的屏幕获取工具,以对所述被测终端设备当前的屏幕画面进行截取,具体为:
所述测试设备通过所述ADB驱动与所述被测终端设备建立通信连接;
所述测试设备读取所述被测终端设备中指定目录下图形设备中的屏幕显示内容信息;
所述测试设备通过所述屏幕获取工具生成所述屏幕画面。
3.如权利要求1所述的方法,其特征在于,所述测试设备通过ADB驱动调用所述被测终端设备内置的屏幕获取工具之后,还包括:
所述测试设备通过所述ADB驱动将已截取的屏幕画面回传至所述测试设备。
4.如权利要求3所述的方法,其特征在于,在所述测试设备通过所述ADB驱动将已截取的屏幕画面回传至所述测试设备之后,还包括:
所述测试设备将所述屏幕画面返回至所述屏幕获取请求消息的发送方。
5.一种测试设备,应用于包括所述测试设备以及被测终端设备的自动化测试系统中,其特征在于,包括:
接收模块,用于在需要获取被测终端设备的屏幕画面时接收屏幕获取请求消息;
调用模块,用于通过安卓调试桥ADB驱动调用所述被测终端设备内置的屏幕获取工具,以对所述被测终端设备当前的屏幕画面进行截取。
6.如权利要求5所述的测试设备,其特征在于,所述调用模块具体包括:
通信子模块,用于通过所述ADB驱动与所述被测终端设备建立通信连接;
读取子模块,用于读取所述被测终端设备中指定目录下图形设备中的屏幕显示内容信息;
生成子模块,用于通过所述屏幕获取工具生成所述屏幕画面。
7.如权利要求5所述的测试设备,其特征在于,还包括:
回传模块,用于在所述调用模块对所述被测终端设备当前的屏幕画面进行截取之后,通过所述ADB驱动将已截取的屏幕画面回传至所述测试设备。
8.如权利要求7所述的测试设备,其特征在于,还包括:
反馈模块,用于将所述屏幕画面返回至所述屏幕获取请求消息的发送方。
9.一种自动化测试系统,其特征在于,包括被测终端设备,还包括:
测试设备,用于在需要获取被测终端设备的屏幕画面时接收屏幕获取请求消息,并通过安卓调试桥ADB驱动调用所述被测终端设备内置的屏幕获取工具,以对所述被测终端设备当前的屏幕画面进行截取。
10.如权利要求9所述的自动化测试系统,其特征在于,所述测试设备具体包括:
接收模块,用于在需要获取被测终端设备的屏幕画面时接收屏幕获取请求消息;
调用模块,用于通过ADB驱动调用所述被测终端设备内置的屏幕获取工具,以对所述被测终端设备当前的屏幕画面进行截取。
CN201410256070.3A 2014-06-10 2014-06-10 一种获取终端设备屏幕画面的方法、装置及系统 Pending CN105227597A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410256070.3A CN105227597A (zh) 2014-06-10 2014-06-10 一种获取终端设备屏幕画面的方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410256070.3A CN105227597A (zh) 2014-06-10 2014-06-10 一种获取终端设备屏幕画面的方法、装置及系统

Publications (1)

Publication Number Publication Date
CN105227597A true CN105227597A (zh) 2016-01-06

Family

ID=54996272

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410256070.3A Pending CN105227597A (zh) 2014-06-10 2014-06-10 一种获取终端设备屏幕画面的方法、装置及系统

Country Status (1)

Country Link
CN (1) CN105227597A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106027728A (zh) * 2016-04-26 2016-10-12 乐视控股(北京)有限公司 一种无屏幕下的手机调试系统及方法
CN106168974A (zh) * 2016-07-11 2016-11-30 广州视睿电子科技有限公司 多系统截屏文件的处理方法和系统
CN108347452A (zh) * 2017-01-23 2018-07-31 腾讯科技(深圳)有限公司 远程获取屏幕截图的方法及装置
CN110515794A (zh) * 2019-07-26 2019-11-29 Oppo广东移动通信有限公司 日志信息抓取方法、装置、电子设备以及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102438259A (zh) * 2011-09-09 2012-05-02 华南农业大学 一种无干扰式手机远程可用性测试系统及其测试方法
CN103002155A (zh) * 2012-12-13 2013-03-27 江苏诚迈科技有限公司 一种利用车载终端进行Android手机部署的方法
BR102012001955A2 (pt) * 2012-01-27 2013-09-17 Lg Electronics De Sco Paulo Ltda metodo e sistema para controle remoto de um dispositivo celular
CN103744763A (zh) * 2013-12-25 2014-04-23 广东明创软件科技有限公司 自动化测试中pc端同步控制移动终端的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102438259A (zh) * 2011-09-09 2012-05-02 华南农业大学 一种无干扰式手机远程可用性测试系统及其测试方法
BR102012001955A2 (pt) * 2012-01-27 2013-09-17 Lg Electronics De Sco Paulo Ltda metodo e sistema para controle remoto de um dispositivo celular
CN103002155A (zh) * 2012-12-13 2013-03-27 江苏诚迈科技有限公司 一种利用车载终端进行Android手机部署的方法
CN103744763A (zh) * 2013-12-25 2014-04-23 广东明创软件科技有限公司 自动化测试中pc端同步控制移动终端的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHIA-CHI LIN ET AL: "Screenmilker: How to Milk Your Android Screen for Secrets", 《NDSS SYMPOSIUM 2014》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106027728A (zh) * 2016-04-26 2016-10-12 乐视控股(北京)有限公司 一种无屏幕下的手机调试系统及方法
CN106168974A (zh) * 2016-07-11 2016-11-30 广州视睿电子科技有限公司 多系统截屏文件的处理方法和系统
CN106168974B (zh) * 2016-07-11 2020-01-07 广州视睿电子科技有限公司 多系统截屏文件的处理方法和系统
CN108347452A (zh) * 2017-01-23 2018-07-31 腾讯科技(深圳)有限公司 远程获取屏幕截图的方法及装置
CN110515794A (zh) * 2019-07-26 2019-11-29 Oppo广东移动通信有限公司 日志信息抓取方法、装置、电子设备以及存储介质

Similar Documents

Publication Publication Date Title
US10229039B2 (en) Testing a virtual network function by a virtual network tester
US9563544B2 (en) Framework for automated testing of mobile apps
CN110908875B (zh) 基于操作终端的巡检方法及装置
CN112463634B (zh) 微服务架构下的软件测试方法及装置
CN105389263A (zh) 应用软件权限监控方法、系统及设备
CN105187266A (zh) 信息监控方法和装置
CN108293199B (zh) 提供事件管理服务的电子装置和方法
CN105515883A (zh) 一种测试方法及系统
CN105227597A (zh) 一种获取终端设备屏幕画面的方法、装置及系统
CN103595769B (zh) Sdk实现文件上传的方法与装置
CN106301772A (zh) 密码设置方法、装置及用于设置密码的装置
CN105959276A (zh) 基于第三方账号登录的应用程序控制方法、装置及终端设备
CN110795328A (zh) 一种接口测试方法和装置
CN104320415B (zh) 一种变电站设备动态插件式规约解析方法
CN109840109B (zh) 用于生成软件开发工具包的方法和装置
US11734057B2 (en) Method and apparatus for processing a service of an abnormal server
CN113127370A (zh) 报表系统冒烟测试方法、rpa机器人及系统
CN112233196A (zh) 直播间绿屏检测方法、装置、设备及存储介质
CN109062578B (zh) 一种基于app组件化的开发平台
CN105095063A (zh) 应用程序测试方法、装置及系统
US10701146B2 (en) Method, apparatus, and system for deep mirroring
CN103501324A (zh) 主题打包方法、装置和服务器
KR102368826B1 (ko) 클라우드 서버 및 클라우드 서버의 동작
CN112905464A (zh) 应用运行环境数据处理方法及装置
CN112995254A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20160106

RJ01 Rejection of invention patent application after publication