一种获取应用程序的启动时间的方法和装置制造方法及图纸

技术编号:12461248 阅读:148 留言:0更新日期:2015-12-06 10:50
本发明专利技术实施例提供了一种获取应用程序的启动时间的方法和装置,其中的方法具体包括:通过调用与系统类同名的模拟类或者与系统方法同名的模拟方法,获取操作系统的启动等待方法;在获取操作系统的启动等待方法后,启动目标应用程序;依据所述启动等待方法的返回值,确定所述目标应用程序的启动时间。本发明专利技术实施例能够扩展获取应用程序所需的应用环境。

【技术实现步骤摘要】

本专利技术涉及测试
,特别是涉及一种获取应用程序的启动时间的方法和一种获取应用程序的启动时间的装置。
技术介绍
随着应用程序的数量和种类的不断增多,应用程序的启动速度已经成为用户,特别是移动终端的用户,选择应用程序的重要标准之一。现有一种获取应用程序的启动时间的过程可以为,在移动终端通过数据线连接PC(个人计算机,Personal Computer)的情况下,在该PC上运行的安卓调试工具上通过adb (安卓调试桥,Android Debug Bridge) shell am(活动管理,ActivityManager)命令获取应用程序的启动时间。虽然上述过程能够比较精准地获取应用程序的启动时间,但是,上述安卓调试工具通常仅仅能够在PC环境中运行,而在移动终端的环境中可能无法运行,因此上述过程具有应用环境受限的问题。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的获取应用程序的启动时间的方法和相应的获取应用程序的启动时间的装置。依据本专利技术的一个方面,提供了一种获取应用程序的启动时间的方法,包括:通过调用与系统类同名的模拟类或者与系统方法同名的模拟方法,获取操作系统的启动等待方法;在获取操作系统的启动等待方法后,启动目标应用程序;依据所述启动等待方法的返回值,确定所述目标应用程序的启动时间。可选地,所述系统类包括:系统接口类,则所述通过调用与系统类同名的模拟类或者与系统方法同名的模拟方法,获取操作系统的启动等待方法的步骤,包括:通过调用与所述系统接口类同名的模拟类,获取所述系统接口类的实例;通过反射调用所述系统接口类的实例,获取操作系统的所述系统接口类中的启动等待方法。可选地,所述系统类包括:系统原生类,则所述通过调用与系统类同名的模拟类或者与系统方法同名的模拟方法,获取操作系统的启动等待方法的步骤,包括:通过调用与所述系统原生类同名的模拟类,获取所述原生类中系统接口类的实例;通过反射调用所述系统接口类的实例,获取操作系统的所述系统接口类中的启动等待方法。可选地,所述系统方法包括:启动等待方法,则所述通过调用与系统类同名的类或者与系统方法同名的模拟方法,获取操作系统的启动等待方法的步骤,包括:通过调用与所述启动等待方法同名的模拟方法,获取操作系统的启动等待方法。可选地,所述依据所述启动等待方法的返回值,确定所述目标应用程序的启动时间的步骤,包括:通过反射调用所述启动等待方法,获得所述启动等待方法的本次启动的等待结果参数的返回值;其中,所述反射调用的参数包括:系统接口类的实例和所述本次启动的等待结果参数;将所述返回值确定为所述目标应用程序的启动时间。可选地,所述启动目标应用程序的步骤,包括:获取所述目标应用程序的包名和类名;依据所述目标应用程序的包名和类名,启动所述目标应用程序。根据本专利技术的另一方面,提供了一种获取应用程序的启动时间的装置,包括:获取模块,用于通过调用与系统类同名的模拟类或者与系统方法同名的模拟方法,获取操作系统的启动等待方法;程序启动模块,用于在获取操作系统的启动等待方法后,启动目标应用程序;及确定模块,用于依据所述启动等待方法的返回值,确定所述目标应用程序的启动时间。可选地,所述系统类包括:系统接口类,则所述获取模块,包括:第一获取子模块,用于通过调用与所述系统接口类同名的模拟类,获取所述系统接口类的实例;及第二获取子模块,用于通过反射调用所述系统接口类的实例,获取操作系统的所述系统接口类中的启动等待方法。可选地,所述系统类包括:系统原生类,则所述获取模块,包括:第三获取子模块,用于通过调用与所述系统原生类同名的模拟类,获取所述原生类中系统接口类的实例;第四获取子模块,用于通过反射调用所述系统接口类的实例,获取操作系统的所述系统接口类中的启动等待方法。可选地,所述系统方法包括:启动等待方法,则所述获取模块,包括:第五获取子模块,用于通过调用与所述启动等待方法同名的模拟方法,获取操作系统的启动等待方法。可选地,所述确定模块,包括:返回值获取子模块,用于通过反射调用所述启动等待方法,获得所述启动等待方法的本次启动的等待结果参数的返回值;其中,所述反射调用的参数包括:系统接口类的实例和所述本次启动的等待结果参数;及启动时间确定子模块,用于将所述返回值确定为所述目标应用程序的启动时间。可选地,所述程序启动模块,包括:第六获取子模块,用于获取所述目标应用程序的包名和类名;及启动子模块,用于依据所述目标应用程序的包名和类名,启动所述目标应用程序。根据本专利技术的获取应用程序的启动时间的方法和装置,可以依据启动等待方法的返回值,确定所述目标应用程序的启动时间;由于本专利技术实施例可以利用操作系统的启动等待方法获取该操作系统中目标应用程序的启动时间,故本专利技术实施例可以在目标应用程序的操作系统环境中运行,例如,目标应用程序的操作系统环境为手机的安卓操作系统,则本专利技术实施例的上述步骤流程也可以在手机的安卓操作系统中运行,因此,相对于现有方案仅仅能够在PC上运行,本专利技术实施例能够扩展获取应用程序所需的应用环境。另外,本专利技术实施例的上述步骤流程可以应用于不同于上述目标应用程序的测试应用程序中,这使得可以通过该测试应用程序的UI快速启动上述目标应用程序并快速获取上述目标应用程序的启动时间,因此,相对于现有方案在借助于数据线的情况下在PC上通过安卓调试工具获取应用程序的启动时间,本专利技术实施例还能够提高上述目标应用程序的启动时间的获取速度。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的【具体实施方式】。【附图说明】通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了根据本专利技术一个实施例的一种获取应用程序的启动时间的方法实施例的步骤流程图;以及图2示出了根据本专利技术一个实施例的一种获取应用程序的启动时间的装置实施例的结构框图。【具体实施方式】下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。参照图1,示出了根据本专利技术一个实施例的一种获取应用程序的启动时间的方法实施例的步骤流程图,具体可以包括如下步骤:步骤101、通过调用与系统类同名的模拟类或者与系统方法同名的模拟方法,获取操作系统的启动等待方法;本专利技术实施例可以应用于具有测试功能的测试应用程序中,从而可以实现该测试应用程序开启目标应用程序并获取该目标应用程序的启动时间;其中,该测试应用程序的运行环境可以与该目标应用程序的运行环境可以相同,例如,该测试应用程序和该目标应用程序可以同运行于移动终端的操作系统中,因此,相对于现有方案仅仅能够在PC上运行,本专利技术实施例能够扩展获取应用程序的应用环境。在实际应用中,该本文档来自技高网...

【技术保护点】
一种获取应用程序的启动时间的方法,包括:通过调用与系统类同名的模拟类或者与系统方法同名的模拟方法,获取操作系统的启动等待方法;在获取操作系统的启动等待方法后,启动目标应用程序;依据所述启动等待方法的返回值,确定所述目标应用程序的启动时间。

【技术特征摘要】

【专利技术属性】
技术研发人员:孙瑞川平航磊
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1