CN106649091B - 一种检测应用能否正常使用的方法、装置和移动终端 - Google Patents

一种检测应用能否正常使用的方法、装置和移动终端 Download PDF

Info

Publication number
CN106649091B
CN106649091B CN201610903881.7A CN201610903881A CN106649091B CN 106649091 B CN106649091 B CN 106649091B CN 201610903881 A CN201610903881 A CN 201610903881A CN 106649091 B CN106649091 B CN 106649091B
Authority
CN
China
Prior art keywords
application
mobile terminal
screen
normal use
icon information
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
Application number
CN201610903881.7A
Other languages
English (en)
Other versions
CN106649091A (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.)
Wuhan Rusong Technology Co ltd
Original Assignee
Xiamen Meitu Mobile Technology Co 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 Xiamen Meitu Mobile Technology Co Ltd filed Critical Xiamen Meitu Mobile Technology Co Ltd
Priority to CN201610903881.7A priority Critical patent/CN106649091B/zh
Publication of CN106649091A publication Critical patent/CN106649091A/zh
Application granted granted Critical
Publication of CN106649091B publication Critical patent/CN106649091B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

本发明公开了一种检测应用能否在移动终端上正常使用的方法,该方法包括:从服务器中下载得到该应用的安装包;获取在安装应用之前、在移动终端屏幕上的图标信息作为第一图标信息;利用安装包来安装该应用;获取在安装了应用之后、在移动终端屏幕上的图标信息作为第二图标信息,并根据第二图标信息和第一图标信息来确定应用在移动终端屏幕上的图标位置;对该图标位置进行模拟点击以启动该应用;经过第一预定时间之后获取移动终端的当前活动屏幕信息,并根据活动屏幕信息确定与活动屏幕对应的应用是否为移动终端的桌面应用,若是,则确定应用不能在移动终端上正常使用。本发明还公开了对应的检测应用能否在移动终端上正常使用的装置和移动终端。

Description

一种检测应用能否正常使用的方法、装置和移动终端
技术领域
本发明涉及移动通信领域,尤其涉及一种检测应用能否在移动终端上正常使用的方法、装置和移动终端。
背景技术
随着网络通信的技术的发展,智能手机和平板电脑等移动终端得到了广泛的普及,移动终端上的应用质量也越来越受到关注。通常,用户可以从各大厂商的应用商店下载应用并进行安装,但应用商店中的海量应用经常存在一些不能正常使用的问题,如不能下载、下载之后不能安装、安装之后不能正常打开,或打开之后出现闪退、黑屏等问题,从而严重影响到了用户的使用。因此,需要有办法能够检测这些应用能否正常使用的方法。
目前应用的质量基本都是由应用开发商来检测其是否正常,应用商店通常是通过挑选主要的应用进行人工检测,如检测其安装包是否正常。但这样的检测方法无法覆盖到所有应用的检测,而且人工检测安装也非常费时费力,极大地降低检测效率。
发明内容
为此,本发明提供一种检测应用能否在移动终端上正常使用的方法、装置和移动终端,以力图解决或至少缓解上面存在的问题。
根据本发明的一个方面,提供一种检测应用能否在移动终端上正常使用的方法,适于在所述移动终端中执行,该方法包括步骤:从服务器中下载得到应用的安装包;获取在安装应用之前、在移动终端屏幕上的图标信息作为第一图标信息;利用安装包来安装所述应用;获取在安装了应用之后、在移动终端屏幕上的图标信息作为第二图标信息,并根据第一图标信息和第二图标信息来确定应用在移动终端屏幕上的图标位置;对该图标位置进行模拟点击以启动该应用;以及经过第一预定时间之后,获取移动终端的当前活动屏幕信息,并根据活动屏幕信息确定与活动屏幕对应的应用;如果与活动屏幕对应的应用为移动终端的桌面应用,则确定应用不能在所述移动终端上正常使用。
可选地,在根据本发明的方法中,还包括:如果与活动屏幕对应的应用不是移动终端的桌面应用,则经过第二预定时间之后,截取移动终端的当前活动屏幕图像;以及分析截取到的屏幕图像是否为黑屏图像;如果是,则确定应用不能在移动终端上正常使用。
可选地,在根据本发明的方法中,分析屏幕图像是否为黑屏图像的步骤包括:对截取到的屏幕图像进行解析,得到其三通道色度值的分布范围;判断三通道色度值是否分布在黑色或灰色范围内;如果是,则确定屏幕图像为黑屏图像。
可选地,在根据本发明的方法中,从服务器中下载得到应用的安装包的步骤包括:从服务器中获取应用的显示链接;从显示链接中获取应用的下载链接;以及向下载链接进行数据请求,得到应用的安装包。若在数据请求过程中出现异常情况导致无法正常获取安装包,则再次进行数据请求,其中异常情况包括页面无法访问或请求超时。若连续多次数据请求都无法正常获取所述安装包,则确定应用无法正常下载,并确定其不能在移动终端上正常使用。
可选地,在根据本发明的方法中,还包括:获取安装的返回值,根据该返回值判断应用是否安装成功;若安装失败,则确定应用无法正常安装,并确定其不能在移动终端上正常使用。
可选地,在根据本发明的方法中,获取移动终端屏幕上的图标信息的操作包括:获取移动终端屏幕的XML结构信息,并从中分析得到该屏幕上的图标信息。
可选地,在根据本发明的方法中,还包括:比较第一图标信息和第二图标信息,若两者未发生变化,则确定应用为服务类应用,不再对其进行能否正常使用的检测。
可选地,在根据本发明的方法中,根据活动屏幕信息确定与活动屏幕对应的应用的操作包括:对活动屏幕信息进行解析,得到活动屏幕的包名;以及根据该包名确定与活动屏幕所对应的应用。
可选地,在根据本发明的方法中,还包括:获取在安装应用之前、在所述移动终端上的所有已安装应用的第一应用信息,以及在安装了应用之后、在移动终端上的所有已安装应用的第二应用信息;根据第一应用信息和第二应用信息确定应用安装在移动终端之后的应用信息;以及利用应用安装在移动终端之后的应用信息来卸载该应用。
可选地,在根据本发明的方法中,应用安装在移动终端之后的应用信息包括应用的包名;从服务器中下载得到应用的安装包的步骤还包括:从显示链接中获取应用的名称和标识。
根据本发明的另一个方面,提供一种检测应用能否在移动终端上正常使用的装置,适于驻留在该移动终端中,该装置包括:应用下载模块,适于从服务器中下载得到应用的安装包;应用安装模块,适于利用安装包来安装所述应用;图标定位模块,适于获取在安装应用之前、在所述移动终端屏幕上的图标信息作为第一图标信息,以及在安装了应用之后、在所述移动终端屏幕上的图标信息作为第二图标信息,并根据第一图标信息和第二图标信息来确定应用在移动终端屏幕上的图标位置;应用启动模块,适于对该图标位置进行模拟点击以启动该应用;以及性能检测模块,适于在经过第一预定时间之后,获取移动终端的当前活动屏幕信息,并根据活动屏幕信息确定与活动屏幕相对应的应用;性能检测模块进一步适于在确定活动屏幕相对应的应用为移动终端的桌面应用时,确定应用不能在移动终端上正常使用。
可选地,在根据本发明的装置中,性能检测模块适于:当确定活动屏幕对应的应用不是移动终端的桌面应用时,经过第二预定时间之后,截取移动终端的当前活动屏幕图像;以及分析屏幕图像是否为黑屏图像;如果是,则确定应用不能在移动终端上正常使用。
可选地,在根据本发明的装置中,性能检测模块适于:对截取到的屏幕图像进行解析,得到其三通道色度值的分布范围;判断三通道色度值是否分布在黑色或灰色范围内;如果是,则确定屏幕图像为黑屏图像。
可选地,在根据本发明的装置中,应用下载模块适于:从服务器中获取应用的显示链接;从显示链接中获取应用的下载链接;以及向下载链接进行数据请求,得到应用的安装包。其中,若在数据请求过程中出现异常情况导致无法正常获取安装包,则再次进行数据请求,异常情况包括页面无法访问或请求超时。若连续多次数据请求都无法正常获取安装包,则确定应用无法正常下载,并确定其不能在移动终端上正常使用。
可选地,在根据本发明的装置中,应用安装模块适于:获取安装的返回值,根据该返回值判断应用是否安装成功;若安装失败,则判定应用无法正常安装,并确定其不能在移动终端上正常使用。
可选地,在根据本发明的装置中,图标定位模块适于:获取移动终端屏幕的XML结构信息,并从中分析得到该屏幕上的图标数目;以及进一步适于比较第一图标信息和第二图标信息,若两者未发生变化,则确定应用为服务类应用,不再对其进行能否正常使用的检测。
可选地,在根据本发明的装置中,性能检测模块适于:对活动屏幕信息进行解析,得到活动屏幕的包名;以及根据包名确定与活动屏幕所对应的应用。
可选地,在根据本发明的装置中,还包括应用卸载模块,适于:获取在安装应用之前、在移动终端上的所有已安装应用的第一应用信息,以及在安装了应用之后、在移动终端上的所有已安装应用的第二应用信息;根据第一应用信息和第二应用信息确定应用安装在移动终端之后的应用信息;以及利用应用安装在移动终端之后的应用信息来卸载应用。
可选地,在根据本发明的装置中,应用安装在移动终端之后的应用信息包括应用的包名;应用下载模块还适于从显示链接中获取应用的名称和标识。
根据本发明的又一个方面,提供一种移动终端,包括如上所述的检测应用能否在移动终端上正常使用的装置。
根据本发明的技术方案,自动获取到应用的下载链接,并下载到应用的安装包,完成下载检测;利用该安装包来安装该应用,完成安装检测。之后,通过对比应用安装前后的图标信息,分析得到该应用的图标位置,并没通过对该图标进行模拟点击以启动该应用。应用启动后经过第一预定时间后,获取其屏幕信息所对应的应用,以检测其是否出现闪退现象。检测完闪退现象后,再经过第二预定时间截取移动终端的屏幕图像,以检测其是否出现黑屏现象。这样,从下载、安装、启动及打开各方面检测了应用能否在移动终端正常使用,杜绝了人工检测的繁琐程序,高效又全面地实现了应用质量的检验,给移动终端用户带来高质量的下载安装体验。
另外,本发明还通过对比应用安装前后的移动终端中已安装应用的所有包名,得到该应用的包名,并在每次检测完成时利用该包名来卸载该应用,从而保证每次新安装的应用都出现在移动终端屏幕的同一位置,方便后续其他应用的检测操作,提高整体的应用检测效率。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的移动终端应用检测系统的示意图;
图2示出了根据本发明一个实施例的移动终端100的结构框图;
图3示出了根据本发明一个实施例的检测应用能否在移动终端上正常使用的方法300的流程图;
图4示出了根据本发明另一个实施例的检测应用能否在移动终端上正常使用的方法400的流程图。
图5示出了根据本发明一个实施例的检测应用能否在移动终端上正常使用的装置500的结构框图;
图6示出了根据本发明另一个实施例的检测应用能否在移动终端上正常使用的装置600的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的移动终端应用检测系统的示意图。如图1所示,该系统包括移动终端100和服务器200。移动终端100可以是可连网的手机、平板电脑等移动设备,也可以是智能手表、智能眼镜等可以连网的可穿戴设备。服务器200可以是一台服务器,也可以是由若干台服务器组成的服务器集群,或者是一个云计算服务中心。此外,用于组成服务器集群或云计算服务中心的多个服务器可以驻留在多个地理位置中,本发明对服务器200的部署方式不做限制。根据一个实施例,服务器200中可以含包括应用商店。移动终端100可以以有线或无线的方式与服务器200建立连接,如采用3G、4G、WiFi、个人热点、IEEE802.11x、蓝牙等技术建立无线连接。移动终端100从服务器200获取应用程序信息,如应用的名称、标识和下载链接等。
图2布置为实现根据本发明的检测应用能否在移动终端上正常使用的装置500的示例移动终端100的结构框图。如图2所述,移动终端100可以包括存储器接口102、一个或多个数据处理器、图像处理器和/或中央处理单元104,以及外围接口106。存储器接口102、一个或多个处理器104和/或外围接口106既可以是分立元件,也可以集成在一个或多个集成电路中。在移动终端100中,各种元件可以通过一条或多条通信总线或信号线来耦合。传感器、设备和子系统可以耦合到外围接口106,以便帮助实现多种功能。
例如,运动传感器110、光线传感器112和距离传感器114可以耦合到外围接口106,以方便定向、照明和测距等功能。其他传感器116同样可以与外围接口106相连,例如定位系统(例如GPS接收机)、温度传感器、生物测定传感器或其他感测设备,由此可以帮助实施相关的功能。
相机子系统120和光学传感器122可以用于方便诸如记录照片和视频剪辑的相机功能的实现,其中所述相机子系统和光学传感器例如可以是电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光学传感器。可以通过一个或多个无线通信子系统124来帮助实现通信功能,其中无线通信子系统可以包括射频接收机和发射机和/或光(例如红外)接收机和发射机。无线通信子系统124的特定设计和实施方式可以取决于移动终端100所支持的一个或多个通信网络。例如,移动终端100可以包括被设计成支持LTE、3G、GSM网络、GPRS网络、EDGE网络、Wi-Fi或WiMax网络以及BlueboothTM网络的通信子系统124。音频子系统126可以与扬声器128以及麦克风130相耦合,以便帮助实施启用语音的功能,例如语音识别、语音复制、数字记录和电话功能。
I/O子系统140可以包括触摸屏控制器142和/或一个或多个其他输入控制器144。触摸屏控制器142可以耦合到触摸屏146。举例来说,该触摸屏146和触摸屏控制器142可以使用多种触摸感测技术中的任何一种来检测与之进行的接触和移动或是暂停,其中感测技术包括但不局限于电容性、电阻性、红外和表面声波技术。一个或多个其他输入控制器144可以耦合到其他输入/控制设备148,例如一个或多个按钮、摇杆开关、拇指旋轮、红外端口、USB端口、和/或指示笔之类的指点设备。所述一个或多个按钮(未显示)可以包括用于控制扬声器128和/或麦克风130音量的向上/向下按钮。
存储器接口102可以与存储器150相耦合。该存储器150可以包括高速随机存取存储器和/或非易失性存储器,例如一个或多个磁盘存储设备,一个或多个光学存储设备,和/或闪存存储器(例如NAND,NOR)。存储器150可以存储操作系统152,例如Android、iOS或是Windows Phone之类的操作系统。该操作系统152可以包括用于处理基本系统服务以及执行依赖于硬件的任务的指令。存储器150还可以存储应用154。
在移动设备运行时,会从存储器150中加载操作系统152,并且由处理器104执行。应用154在运行时,也会从存储器150中加载,并由处理器104执行。应用154运行在操作系统之上,利用操作系统以及底层硬件提供的接口实现各种用户期望的功能,如即时通信、网页浏览、图片管理等。应用154可以是独立于操作系统提供的,也可以是操作系统自带的。另外,应用154被安装到移动终端100中时,也可以向操作系统添加驱动模块。
在上述各种应用154中,其中的一种应用为与本发明相关的检测应用能否在移动终端上正常使用的装置500。在一些实施例中,移动终端100被配置为执行根据本发明的检测应用能否在移动终端上正常使用的方法300。
图3示出了根据本发明一个实施例的检测应用能否在移动终端上正常使用的方法300的流程图。如图3所示,该方法始于步骤S310。
在步骤S310中,从服务器中下载得到应用的安装包。具体地,从服务器中获取该应用的显示链接,并从该显示链接中获取所述应用的下载信息,如该应用的名称、标识和下载链接等。之后,向获取到的下载链接进行数据请求,得到应用的安装包。其中,若在数据请求过程中出现异常情况,如404页面无法访问或请求超时等,导致无法正常获取应用的安装包,则再次进行数据请求,以避免概率性的网络故障问题。若连续多次数据请求都无法正常获取安装包,如连续2次都请求异常,则确定该应用无法正常下载,进一步确定其不能在移动终端上正常使用,并保存该应用的相关信息。
这里,可以通过设置Page和Count数值(默认一页最大的应用数目为100),然后使用特殊字符进行MD5加密后得到应用的下载信息,如下载链接。例如:设置Page为1,Count为10,则就是获取前10个应用的下载信息。如果Page为2,Count为10,则是获取第101-110个应用的下载信息。
其中,获取某个下载链接的指定数据的代码如下:
随后,在步骤S320中,获取在安装该应用之前、在移动终端屏幕上的图标信息作为第一图标信息icon_count1。具体地,可以通过获取移动终端屏幕的XML结构信息,并从中分析得到该屏幕上的图标信息。
获取移动终端当前安装的应用图标数目的相关代码如下:
随后,在步骤S330中,利用下载得到的安装包来安装该应用。其中,还可以获取安装的返回值,并根据该返回值判断应用是否安装成功。如返回值为success则代表安装成功。若安装失败,则确定该应用无法正常安装,进一步确定其不能在移动终端上正常使用,并保存该应用的相关信息。
随后,在步骤S340中,获取在安装了该应用之后、在移动终端屏幕上的图标信息作为第二图标信息icon_count2,并根据第一图标信息和第二图标信息来确定应用在移动终端屏幕上的图标位置。其中,图标位置获取方法可以采用任意现有的坐标获取方法,本发明对此不作限制。
这里,依然可以通过获取移动终端屏幕的XML结构信息来获取第二图标信息。另外,还可以比较第一图标信息和第二图标信息是否发生变化,若未发生变化,则确定该应用为服务类应用,不用再进行应用性能的其他检测,并保存该应用的相关信息。
随后,在步骤S350中,对该图标位置进行模拟点击以启动该应用。这里,需要说明的是,对于待检测的应用,在完成其能否正常使用的检测后,都要将卸载掉该应用,保证每次检测时都移动终端中的应用数量不变。这样,新安装的应用图标都会出现固定位置。另外,本发明是在移动终端中进行应用测试的过程,可以通过对该固定位置进行测试程序中的模拟点击操作来打开该位置处的应用。
随后,在步骤S360中,经过第一预定时间之后,获取移动终端的当前活动屏幕信息,并根据该活动屏幕信息确定与所述活动屏幕对应的应用。其中,确定与活动屏幕对应的应用可以通过对该活动屏幕信息进行解析,得到该活动屏幕包名,并根据该包名确定与所述活动屏幕所对应的应用。这里,考虑应用的响应时间,可以将第一预定时间设置为15s。
随后,在步骤S370中,如果与活动屏幕对应的应用为移动终端的桌面应用,则确定该应用不能在移动终端上正常使用,并保存该应用的相关信息。这里,主要是检测应用是否会出现打开闪退的现象,一般地,如果与活动屏幕对应的应用为移动终端的桌面应用,即当前的移动终端界面并不是预期中的应用界面,则说明该应用未打开成功,或打开成功后又发生闪退。
根据一个实施例,本发明还可以检测应用打开后是否会出现黑屏现象。具体地,如果确定与活动屏幕对应的应用不是移动终端的桌面应用,则说明当前的移动终端界面是预期中的待测应用界面,则经过第二预定时间之后,截取该移动终端的当前活动屏幕图像,并分析该截取到的屏幕图像是否为黑屏图像。如果是,则确定该应用有打开黑屏的现象,进一步确定其不能在移动终端上正常使用,并保存该应用的相关信息。
进一步地,在判断屏幕图像是否为黑屏图像时,可以对该屏幕图像进行解析,得到其三通道色度值的分布范围,并判断该三通道色度值是否分布在黑色或灰色范围内。如果是,则判定确定所述屏幕图像为黑屏图像。
测试应用的安装包是否可正常安装并打开的代码如下:
判断一张图片是否为黑色图片的相关代码如下:
根据另一个实施例,本发明还可以在经过所述应用的下载、安装、启动、闪退检测或黑屏检测后卸载该应用。这样,每检测一个应用都将其卸载,可以保证新安装的应用都位于同一位置,方便后续应用的图标定位及启动操作。应当理解,可以在应用安装检测完成后就卸载,即只进行应用安装性能的检测;也可以在闪退性能检测后卸载,还可以在黑屏性能检测后卸载,本发明对应用卸载的时机不作限定。
具体地,应用卸载的方法可以包括:通过获取在安装应用之前、在移动终端上的所有已安装应用的第一应用信息,以及在安装了应用之后、在移动终端上的所有已安装应用的第二应用信息,并根据第一应用信息和第二应用信息确定应用安装在移动终端之后的应用信息。最后,利用应用安装在移动终端之后的应用信息来卸载所述应用。其中,第一应用信息和第二应用信息可以是所有已安装应用的包名,这样,就可以通过对比第一应用信息和第二应用信息得到该应用的包名,即如上所述的应用安装在移动终端之后的应用信息。其中,当前屏幕的包名可以通过adb shell dumpsys window|findstrmCurrentFocus方法获取,当然还可以采用其他常规方法,本发明对此不做限制。应当理解,应用卸载也可以采用传统的模拟拖动图标的方法来实现。另外,应用启动的方法也可以根据获取到的应用安装在移动终端之后的应用信息,如应用包名来打开。
#应用卸载的相关代码如下:
图4示出了根据本发明另一个实施例的检测应用能否在移动终端上正常使用的方法400的流程图。如图4所示,该方法始于步骤S410。
在步骤S410中,从服务器中下载得到应用的安装包,并根据安装的返回值判断应用是否下载成功。如果下载不成功,则确定该应用不能在移动终端上正常使用,并保存相关应用信息。反之,则在步骤S420中,获取在安装所述应用之前、在所述移动终端所有已安装应用的第一应用信息(如包名信息),以及所述移动终端屏幕上的图标信息作为第一图标信息。
随后,在步骤S430中,利用下载到的安装包来安装该应用,并判断其是否安装成功。如果安装不成功,则确定该应用不能在移动终端上正常使用,并保存相关应用信息,继而在步骤S490中卸载该应用。反之,则在步骤S440中,获取在安装所述应用之后、在移动终端所有已安装应用的第二应用信息,以及所述移动终端屏幕上的图标信息作为第二图标信息。
随后,在步骤S450中,通过对比第一图标信息和第二图标信息来确定该应用在移动终端屏幕上的图标位置,并根据比较两个图像信息间是否发生变化来判断该应用是否为服务类应用。如果是,则不再进行后续检测,直接在步骤S490中卸载该应用。反之,则在在步骤S460中,对该图标位置进行模拟点击以启动该应用。
随后,在步骤S470中,经过第一预定时间之后,获取移动终端的当前活动屏幕信息,并根据该活动屏幕信息确定该活动屏幕对应的应用是否为桌面应用。如果是,则确定该应用不能在移动终端上正常使用,并保存相关应用信息,以及在步骤S490中卸载该应用。反之,则在在步骤S480中,经过第二预定时间之后,截取所述移动终端的当前活动屏幕图像,并判断该屏幕图像是否为黑屏图像。如果是,则确定该应用不能在移动终端上正常使用,并保存相关应用信息。反之,则在步骤S490中根据第一应用信息和第二应用信息来确定应用安装在移动终端之后的应用信息(如包名),并根据该应用信息来卸载该应用。
根据本发明的检测应用能否在移动终端上正常使用的方法400,其具体细节已在基于方法300的描述中详细公开,在此不再赘述。
图5示出了根据本发明一个实施例的检测应用能否在移动终端上正常使用的装置500的结构示意图。如图5所示,该装置包括应用下载模块510、应用安装模块520、图标定位模块530、应用启动模块540和性能检测模块550。
应用下载模块510适于从服务器中下载得到该应用的安装包。具体地,其适于从服务器中获取应用的显示链接,并从该显示链接中获取应用的下载链接。之后,向所述下载链接进行数据请求,得到待测应用的安装包。其中,若在所述数据请求过程中出现异常情况,如页面无法访问或请求超,导致无法正常获取所述安装包,则再次进行数据请求。若连续多次数据请求都无法正常获取安装包,则确定待测应用无法正常下载,进一步确定其不能在移动终端上正常使用。
应用安装模块520适于利用下载得到的安装包来安装该应用,还进一步适于获取安装的返回值,根据该返回值判断应用是否安装成功。若安装失败,则判定待测应用无法正常安装,进一步确定其不能在移动终端上正常使用。
图标定位模块530适于获取在安装该应用之前、在移动终端屏幕上的图标信息作为第一图标信息,以及在安装了该应用之后、在移动终端屏幕上的图标信息作为第二图标信息,并根据第一图标信息和第二图标信息来确定应用在移动终端屏幕上的图标位置。其中,其可以通过获取所述移动终端屏幕的XML结构信息,并从中分析得到该屏幕上的图标数目;还可以比较第一图标信息和第二图标信息,若两者未发生变化,则确定该应用为服务类应用,不再进行其他性能检测。
应用启动模块540适于对该图标位置进行模拟点击以启动该应用。
性能检测模块550适于在经过第一预定时间之后,获取移动终端的当前活动屏幕信息,并根据该活动屏幕信息确定与所述活动屏幕相对应的应用。具体地,其可以通过对所述活动屏幕信息进行解析,得到该活动屏幕的包名,并根据所述包名确定与该活动屏幕所对应的应用。如果确定该活动屏幕相对应的应用为移动终端的桌面应用,则确定该应用有打开闪退现象,进一步确定其不能在移动终端上正常使用,并保存相关的应用信息,以及输出相应的检测结果。
进一步地,性能检测模块550还可以在确定所述活动屏幕对应的应用不是移动终端的桌面应用时,经过第二预定时间之后,截取移动终端的当前活动屏幕图像,并分析其是否为黑屏图像。如果是,则确定该应用有打开黑屏现象,进一步确定该应用不能在所述移动终端上正常使用,并保存相关的应用信息。其中,判断黑屏图像时,可以通过分析该屏幕图像的三通道色度分布值是否分布在黑灰色范围来分析。
图6示出了根据本发明另一个实施例的检测应用能否在移动终端上正常使用的装置600的结构框图,其可以看作是图5中装置500的进一步扩展,其中的应用下载模块510、应用安装模块520、图标定位模块530、应用启动模块540和性能检测模块550分别如图5中装置500的介绍所述,这里不再赘述。需要说明的是,其还加入了新的应用卸载模块560。
应用卸载模块560适于获取在安装待测应用之前、在移动终端上的所有已安装应用的第一应用信息,以及在安装了该应用之后、在移动终端上的所有已安装应用的第二应用信息,并根据所述第一应用信息和所述第二应用信息确定该应用安装在所述移动终端之后的应用信息。最后,利用该应用安装在所述移动终端之后的应用信息来卸载所述应用。其中,第一应用信息和第二应用信息可以是所有已安装应用的包名,将两者对比后得到该安装应用的包名。
根据本发明的检测应用能否在移动终端上正常使用的装置500和600,其具体细节已在基于图1-4的描述中详细公开,在此不再赘述。
根据本发明的技术方案,能够自动验证应用能否正常下载、正常安装、正常启动及应用启动后是否出现打开闪退、打开黑屏等问题,非常高效的做到了检验应用质量,避免了人工检测的繁琐程序,省时省力,保障了应用商店中应用的质量,给手机用户带来高质量的下载安装体验。
A9、如A1所述的方法,还包括:获取在安装所述应用之前、在所述移动终端上的所有已安装应用的第一应用信息,以及在安装了所述应用之后、在所述移动终端上的所有已安装应用的第二应用信息;根据所述第一应用信息和所述第二应用信息确定所述应用安装在所述移动终端之后的应用信息;以及利用所述应用安装在所述移动终端之后的应用信息来卸载所述应用。
A10、如A4或A9所述的方法,所述应用安装在所述移动终端之后的应用信息包括所述应用的包名;所述从服务器中下载得到所述应用的安装包的步骤还包括:从所述显示链接中获取所述应用的名称和标识。
B12、如B11所述的装置,所述性能检测模块适于:当确定所述活动屏幕对应的应用不是移动终端的桌面应用时,经过第二预定时间之后,截取所述移动终端的当前活动屏幕图像;以及分析所述屏幕图像是否为黑屏图像;如果是,则确定所述应用不能在所述移动终端上正常使用。
B13、如B12所述的装置,所述性能检测模块适于:对所述截取到的屏幕图像进行解析,得到其三通道色度值的分布范围;判断所述三通道色度值是否分布在黑色或灰色范围内;如果是,则确定所述屏幕图像为黑屏图像。
B14、如B11所述的装置,所述应用下载模块适于:从服务器中获取所述应用的显示链接;从所述显示链接中获取所述应用的下载链接;以及向所述下载链接进行数据请求,得到所述应用的安装包;其中,若在所述数据请求过程中出现异常情况导致无法正常获取所述安装包,则再次进行数据请求,所述异常情况包括页面无法访问或请求超时;若连续多次数据请求都无法正常获取所述安装包,则确定所述应用无法正常下载,并确定其不能在所述移动终端上正常使用。
B15、如B11所述的装置,所述应用安装模块适于:获取安装的返回值,根据该返回值判断应用是否安装成功;若安装失败,则判定所述应用无法正常安装,并确定其不能在所述移动终端上正常使用。
B16、如B11所述的装置,所述图标定位模块适于:获取所述移动终端屏幕的XML结构信息,并从中分析得到该屏幕上的图标数目;以及比较所述第一图标信息和第二图标信息,若两者未发生变化,则确定所述应用为服务类应用,不再对其进行能否正常使用的检测。
B17、如B11所述的装置,所述性能检测模块适于:对所述活动屏幕信息进行解析,得到所述活动屏幕的包名;以及根据所述包名确定与所述活动屏幕所对应的应用。
B18、如B11所述的装置,还包括应用卸载模块,适于:获取在安装所述应用之前、在所述移动终端上的所有已安装应用的第一应用信息,以及在安装了所述应用之后、在所述移动终端上的所有已安装应用的第二应用信息;根据所述第一应用信息和所述第二应用信息确定所述应用安装在所述移动终端之后的应用信息;以及利用所述应用安装在所述移动终端之后的应用信息来卸载所述应用。
B19、如B14或B18所述的装置,其中,所述应用安装在所述移动终端之后的应用信息包括所述应用的包名;所述应用下载模块还适于从所述显示链接中获取所述应用的名称和标识。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (18)

1.一种检测应用能否在移动终端上正常使用的方法,适于在所述移动终端中执行,该方法包括步骤:
从服务器中下载得到所述应用的安装包;
获取在安装所述应用之前、在所述移动终端屏幕上的图标信息作为第一图标信息;
利用所述安装包来安装所述应用;
获取在安装了所述应用之后、在所述移动终端屏幕上的图标信息作为第二图标信息,并根据所述第一图标信息和第二图标信息来确定所述应用在移动终端屏幕上的图标位置;
对该图标位置进行模拟点击以启动该应用;以及
经过第一预定时间之后,获取所述移动终端的当前活动屏幕信息,并根据所述活动屏幕信息确定与所述活动屏幕对应的应用;
如果与所述活动屏幕对应的应用为移动终端的桌面应用,则确定所述应用不能在所述移动终端上正常使用;
如果与所述活动屏幕对应的应用不是移动终端的桌面应用,则经过第二预定时间之后,截取所述移动终端的当前活动屏幕图像;以及分析所述屏幕图像是否为黑屏图像;如果是,则确定所述应用不能在所述移动终端上正常使用。
2.如权利要求1所述的方法,其中,所述分析所述屏幕图像是否为黑屏图像的步骤包括:
对截取到的屏幕图像进行解析,得到其三通道色度值的分布范围;
判断所述三通道色度值是否分布在黑色或灰色范围内;
如果是,则确定所述屏幕图像为黑屏图像。
3.如权利要求1所述的方法,其中,从服务器中下载得到所述应用的安装包的步骤包括:
从服务器中获取所述应用的显示链接;
从所述显示链接中获取所述应用的下载链接;以及
向所述下载链接进行数据请求,得到所述应用的安装包;
若在所述数据请求过程中出现异常情况导致无法正常获取所述安装包,则再次进行数据请求,其中,所述异常情况包括页面无法访问或请求超时;
若连续多次数据请求都无法正常获取所述安装包,则确定所述应用无法正常下载,并确定其不能在所述移动终端上正常使用。
4.如权利要求1所述的方法,还包括:
获取安装的返回值,根据该返回值判断应用是否安装成功;
若安装失败,则确定所述应用无法正常安装,并确定其不能在所述移动终端上正常使用。
5.如权利要求1所述的方法,其中,所述获取所述移动终端屏幕上的图标信息的操作包括:
获取所述移动终端屏幕的XML结构信息,并从中分析得到该屏幕上的图标信息。
6.如权利要求1所述的方法,还包括:
比较所述第一图标信息和第二图标信息,若两者未发生变化,则确定所述应用为服务类应用,不再对其进行能否正常使用的检测。
7.如权利要求1所述的方法,其中,所述根据所述活动屏幕信息确定与所述活动屏幕对应的应用的操作包括:
对所述活动屏幕信息进行解析,得到所述活动屏幕的包名;以及
根据所述包名确定与所述活动屏幕所对应的应用。
8.如权利要求3所述的方法,还包括:
获取在安装所述应用之前、在所述移动终端上的所有已安装应用的第一应用信息,以及在安装了所述应用之后、在所述移动终端上的所有已安装应用的第二应用信息;
根据所述第一应用信息和所述第二应用信息确定所述应用安装在所述移动终端之后的应用信息;以及
利用所述应用安装在所述移动终端之后的应用信息来卸载所述应用。
9.如权利要求8所述的方法,其中,所述应用安装在所述移动终端之后的应用信息包括所述应用的包名;
所述从服务器中下载得到所述应用的安装包的步骤还包括:从所述显示链接中获取所述应用的名称和标识。
10.一种检测应用能否在移动终端上正常使用的装置,适于驻留在所述移动终端中,该装置包括:
应用下载模块,适于从服务器中下载得到所述应用的安装包;
应用安装模块,适于利用所述安装包来安装所述应用;
图标定位模块,适于获取在安装所述应用之前、在所述移动终端屏幕上的图标信息作为第一图标信息,以及在安装了所述应用之后、在所述移动终端屏幕上的图标信息作为第二图标信息,并根据所述第一图标信息和第二图标信息来确定所述应用在移动终端屏幕上的图标位置;
应用启动模块,适于对该图标位置进行模拟点击以启动该应用;以及
性能检测模块,适于在经过第一预定时间之后,获取所述移动终端的当前活动屏幕信息,并根据所述活动屏幕信息确定与所述活动屏幕相对应的应用;
所述性能检测模块进一步适于在确定所述活动屏幕相对应的应用为移动终端的桌面应用时,确定所述应用不能在所述移动终端上正常使用;
所述性能检测模块进一步适于:当确定所述活动屏幕对应的应用不是移动终端的桌面应用时,经过第二预定时间之后,截取所述移动终端的当前活动屏幕图像;以及分析所述屏幕图像是否为黑屏图像;如果是,则确定所述应用不能在所述移动终端上正常使用。
11.如权利要求10所述的装置,其中,所述性能检测模块适于:
对截取到的屏幕图像进行解析,得到其三通道色度值的分布范围;
判断所述三通道色度值是否分布在黑色或灰色范围内;
如果是,则确定所述屏幕图像为黑屏图像。
12.如权利要求10所述的装置,其中,所述应用下载模块适于:
从服务器中获取所述应用的显示链接;
从所述显示链接中获取所述应用的下载链接;以及
向所述下载链接进行数据请求,得到所述应用的安装包;
其中,若在所述数据请求过程中出现异常情况导致无法正常获取所述安装包,则再次进行数据请求,所述异常情况包括页面无法访问或请求超时;
若连续多次数据请求都无法正常获取所述安装包,则确定所述应用无法正常下载,并确定其不能在所述移动终端上正常使用。
13.如权利要求10所述的装置,其中,所述应用安装模块适于:
获取安装的返回值,根据该返回值判断应用是否安装成功;
若安装失败,则判定所述应用无法正常安装,并确定其不能在所述移动终端上正常使用。
14.如权利要求10所述的装置,其中,所述图标定位模块适于:
获取所述移动终端屏幕的XML结构信息,并从中分析得到该屏幕上的图标数目;以及
比较所述第一图标信息和第二图标信息,若两者未发生变化,则确定所述应用为服务类应用,不再对其进行能否正常使用的检测。
15.如权利要求10所述的装置,其中,所述性能检测模块适于:
对所述活动屏幕信息进行解析,得到所述活动屏幕的包名;以及
根据所述包名确定与所述活动屏幕所对应的应用。
16.如权利要求12所述的装置,还包括应用卸载模块,适于:
获取在安装所述应用之前、在所述移动终端上的所有已安装应用的第一应用信息,以及在安装了所述应用之后、在所述移动终端上的所有已安装应用的第二应用信息;
根据所述第一应用信息和所述第二应用信息确定所述应用安装在所述移动终端之后的应用信息;以及
利用所述应用安装在所述移动终端之后的应用信息来卸载所述应用。
17.如权利要求16所述的装置,其中,
所述应用安装在所述移动终端之后的应用信息包括所述应用的包名;
所述应用下载模块还适于从所述显示链接中获取所述应用的名称和标识。
18.一种移动终端,包括如权利要求10-17中任一项所述的检测应用能否在移动终端上正常使用的装置。
CN201610903881.7A 2016-10-18 2016-10-18 一种检测应用能否正常使用的方法、装置和移动终端 Active CN106649091B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610903881.7A CN106649091B (zh) 2016-10-18 2016-10-18 一种检测应用能否正常使用的方法、装置和移动终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610903881.7A CN106649091B (zh) 2016-10-18 2016-10-18 一种检测应用能否正常使用的方法、装置和移动终端

Publications (2)

Publication Number Publication Date
CN106649091A CN106649091A (zh) 2017-05-10
CN106649091B true CN106649091B (zh) 2019-04-02

Family

ID=58856375

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610903881.7A Active CN106649091B (zh) 2016-10-18 2016-10-18 一种检测应用能否正常使用的方法、装置和移动终端

Country Status (1)

Country Link
CN (1) CN106649091B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104156305A (zh) * 2013-05-15 2014-11-19 腾讯科技(深圳)有限公司 一种应用程序测试方法及装置
CN104598369A (zh) * 2014-12-23 2015-05-06 北京畅游天下网络技术有限公司 在移动设备中实现的软件监控方法和装置
CN105677571A (zh) * 2016-01-29 2016-06-15 努比亚技术有限公司 移动终端软件兼容性测试装置及方法
CN105867905A (zh) * 2016-03-21 2016-08-17 乐视网信息技术(北京)股份有限公司 一种应用程序漏洞修复方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9704171B2 (en) * 2012-06-05 2017-07-11 Applause App Quality, Inc. Methods and systems for quantifying and tracking software application quality

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104156305A (zh) * 2013-05-15 2014-11-19 腾讯科技(深圳)有限公司 一种应用程序测试方法及装置
CN104598369A (zh) * 2014-12-23 2015-05-06 北京畅游天下网络技术有限公司 在移动设备中实现的软件监控方法和装置
CN105677571A (zh) * 2016-01-29 2016-06-15 努比亚技术有限公司 移动终端软件兼容性测试装置及方法
CN105867905A (zh) * 2016-03-21 2016-08-17 乐视网信息技术(北京)股份有限公司 一种应用程序漏洞修复方法和装置

Also Published As

Publication number Publication date
CN106649091A (zh) 2017-05-10

Similar Documents

Publication Publication Date Title
US10547890B2 (en) Apparatus and method for displaying user interface
US10257416B2 (en) Apparatus and method for setting camera
EP3384710B1 (en) Method for selecting external electronic device based on data traffic rate
EP3089066A1 (en) Fingerprint information processing method and electronic device supporting the same
US20160217551A1 (en) Method of configuring screen, electronic device, and storage medium
CN105868105A (zh) 一种应用遍历测试方法、设备及移动终端
US20160191694A1 (en) Method and apparatus for providing communication-related information
WO2017219983A1 (zh) 终端间应用程序的获取方法及终端
CN105975391B (zh) 一种重启测试方法、设备和移动终端
CN104991847B (zh) 一种内存泄露自动化检测方法、装置及移动终端
CN109901881B (zh) 应用程序的插件加载方法、装置、计算机设备及存储介质
US20160308768A1 (en) Electronic device and method for operating communication of the same
CN109669697A (zh) 一种内容列表的组件化展示方法和移动终端
US10587566B2 (en) Data transmission method and electronic device for supporting the same
US20150356081A1 (en) Advanced camera management function
EP3836523A1 (en) Information processing device and communication system
WO2018121582A1 (zh) 脚本生成方法及装置
US20170308269A1 (en) Electronic device and display method thereof
US20150242076A1 (en) Method of editing one or more objects and apparatus for same
CN105512033A (zh) 一种移动终端的自动化测试方法、装置及移动终端
CN110366100A (zh) 终端的定位方法、定位装置、可读存储介质及终端设备
CN107656866A (zh) 一种测试应用流畅度的方法、移动终端和计算设备
CN109683997A (zh) 通过沙箱访问应用程序接口的方法、沙箱及沙箱设备
US10319341B2 (en) Electronic device and method for displaying content thereof
US20170046279A1 (en) Content security processing method and electronic device supporting the same

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
TR01 Transfer of patent right

Effective date of registration: 20240119

Address after: 430000, No. 9 Longcheng Road, Donghu New Technology Development Zone, Wuhan City, Hubei Province, China. Baoye, No. 01, 3rd Floor, Unit 2, Building 2, Guanggu Lidu Phase II

Patentee after: Wuhan Rusong Technology Co.,Ltd.

Address before: 361009 112a, Pioneer Building, Pioneer Park, torch hi tech Zone, Xiamen City, Fujian Province

Patentee before: Xiamen Meitu Mobile Technology Co.,Ltd.

TR01 Transfer of patent right