CN112560035A - 应用检测方法、装置、设备及存储介质 - Google Patents
应用检测方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112560035A CN112560035A CN202011475941.2A CN202011475941A CN112560035A CN 112560035 A CN112560035 A CN 112560035A CN 202011475941 A CN202011475941 A CN 202011475941A CN 112560035 A CN112560035 A CN 112560035A
- Authority
- CN
- China
- Prior art keywords
- application
- detected
- detection
- environment
- xstressed
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 159
- 238000012360 testing method Methods 0.000 claims abstract description 40
- 238000000034 method Methods 0.000 claims abstract description 36
- 238000012544 monitoring process Methods 0.000 claims abstract description 12
- 230000006399 behavior Effects 0.000 claims description 34
- 238000004891 communication Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 238000009434 installation Methods 0.000 claims description 8
- 238000011161 development Methods 0.000 abstract description 23
- 230000006870 function Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 6
- 238000004088 simulation Methods 0.000 description 5
- 239000012141 concentrate Substances 0.000 description 4
- 241000282693 Cercopithecidae Species 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- 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/3664—Environments for testing or debugging software
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种应用检测方法、装置、计算机设备和存储介质,用于检测应用的限制行为,使开发者可以关注功能开发和业务开发,提高效率和实用性。方法部分包括:当接收到应用检测命令后,获取被检测应用的apk文件;将apk文件安装到检测设备的Xponsed环境中;检测被检测应用是否成功安装到Xponsed环境中;当检测到被检测应用成功安装到Xponsed环境中,执行应用打开命令,以在Xponsed环境中启动被检测应用;执行模拟用户命令,以通过模拟用户命令对被检测应用进行操作,模拟用户命令用于模拟用户对被检测应用的使用行为;在运行过程中,利用Xponsed环境的Xposed插件监控操作并记录;根据记录结果生成被检测应用的测试结果文档。
Description
技术领域
本发明涉应用检测技术领域,尤其涉及一种应用检测方法、装置、设备、及存储介质。
背景技术
Android系统具有开放性和可定制性的特点,也真因为Android系统的开放性和可定制性,各个终端(如手机)厂商都基于Android系统开发出一套自己特有的系统,每个终端厂商自己的系统对于Android应用都存在一定的限制且各不相同,特别是存在一些个性化的限制;如敏感信息限制、权限要求限制、运行性能限制,每个终端厂商对这些限制都有自己的标准。发明人意识到,对于Android应用开发者而言,要基于各个厂商的限制来开发Android应用,需要通过人为一个个了解各个终端厂商系统的特点,而又由于各终端厂商系统是不断变化的,通过人为了解的方式成本极高,无法专注于Android应用本身的功能开发和业务开发,导致开发效率较低,实用性较差。
发明内容
本发明提供一种应用检测方法、装置、设备、及存储介质,以解决传统方案中,无法专注于Android应用本身的功能开发和业务开发,导致开发效率较低,实用性较差。
一种应用检测方法,包括:
当接收到应用检测命令后,获取被检测应用的apk文件;
将所述apk文件安装到检测设备的Xponsed环境中;
检测所述被检测应用是否成功安装到所述Xponsed环境中;
当检测到所述被检测应用成功安装到所述Xponsed环境中,执行应用打开命令,以在所述Xponsed环境中启动所述被检测应用;
执行模拟用户命令,以通过所述模拟用户命令对所述被检测应用进行操作,所述模拟用户命令用于模拟所述用户对所述被检测应用的使用行为;
在运行过程中,利用所述Xponsed环境的Xposed插件监控所述操作并记录;
根据所述记录结果生成被检测应用的测试结果文档。
进一步地,所述将所述apk文件安装到检测设备的Xponsed环境中,包括:
与目标局域网内的多个检测设备建立通信连接;
依据所述通信连接,判断所述多个检测设备的各是否处于空闲状态,其中,多个检测设备为采用不同的终端厂商提供的设备,所述多个检测设备对应的安卓操作系统为各终端厂商所提供的安卓操作系统;
当判断所述多个检测设备处于空闲状态,则检测所述多个检测设备是否已安装所述被检测应用;
当检测到所述多个检测设备已安装所述被检测应用,则分别将所述apk文件复制到多个检测设备的Xponsed环境中。
进一步地,所述获取被检测应用的apk文件,包括:
接收用户通过客户端发送的应用检测命令,所述应用检测命令包含所述被检测应用的apk文件。
进一步地,所述根据所述记录结果生成被检测应用的测试结果文档,包括:
根据所述记录结果,获取所述被检测应用的限制行为,所述限制行为所述检检测应用对应的厂商的所设定的限制行为;
对所述限制行为进行分类并归纳后,生成所述被检测应用的测试结果文档。
进一步地,所述根据所述记录结果生成被检测应用的测试结果文档之后,所述方法还包括:
将所述测试结果文档进行存储,并根据所述存储结果生成文档链接;
将所述文档链接和检测完成指示信息反馈至客户端,以使所述用户根据所述检测完成指示信息的指示,利用所述文档链接下载所述测试结果文档。
一种应用检测装置,包括:
获取模块,用于当接收到应用检测命令后,获取被检测应用的apk文件;
安装模块,用于将所述apk文件安装到检测设备的Xponsed环境中;
检测模块,用于检测所述被检测应用是否成功安装到所述Xponsed环境中;
第一执行模块,用于当检测到所述被检测应用成功安装到所述Xponsed环境中,执行应用打开命令,以在所述Xponsed环境中启动所述被检测应用;
第二执行模块,用于执行模拟用户命令,以通过所述模拟用户命令对所述被检测应用进行操作,所述模拟用户命令用于模拟所述用户对所述被检测应用的使用行为;
记录模块,用于在运行过程中,利用所述Xponsed环境的Xposed插件监控所述操作并记录;
生成模块,用于根据所述记录结果生成被检测应用的测试结果文档。
进一步地,所述安装模块,具体用于:
与目标局域网内的多个检测设备建立通信连接;
依据所述通信连接,判断所述多个检测设备的各是否处于空闲状态;
当判断所述多个检测设备处于空闲状态,则检测所述多个检测设备是否已安装所述被检测应用;
当检测到所述多个检测设备已安装所述被检测应用,则分别将所述apk文件复制到多个检测设备的Xponsed环境中。
进一步地,所述获取模块,具体用于:
接收用户通过客户端发送的应用检测命令,所述应用检测命令包含所述被检测应用的apk文件。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述应用检测方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述应用检测方法的步骤。
上述应用检测方法、装置、计算机设备和存储介质中,将所述apk文件安装到检测设备的Xponsed环境中;检测所述被检测应用是否成功安装到所述Xponsed环境中;当检测到所述被检测应用成功安装到所述Xponsed环境中,执行应用打开命令,以在所述Xponsed环境中启动所述被检测应用;执行模拟用户命令,以通过所述模拟用户命令对所述被检测应用进行操作,所述模拟用户命令用于模拟所述用户对所述被检测应用的使用行为;在运行过程中,利用所述Xponsed环境的Xposed插件监控所述操作并记录;根据所述记录结果生成被检测应用的测试结果文档,最后依据测试结果文档便可了解到应用在执行时厂商限制等的具体情况,具有非常高的实用性,使得开发者可以专注于Android应用本身的功能开发和业务开发,可以及时了解各个终端厂商系统的特点。有效地提高了开发效率较低,实用性较高。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中应用检测方法的一流程示意图;
图2是本发明一实施例中应用检测方法的一流程示意图;
图3是本发明中被检测应用的目标函数执行的过程示意图;
图4是本发明中基于Xponsed环境的被检测应用的目标函数执行的过程示意图;
图5是本发明一实施例中应用检测方法的另一流程示意图;
图6是本发明一实施例中应用检测装置的一结构示意图;
图7是本发明一实施例中计算机设备的一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的应用检测方法,可应用在如图1的应用环境中,其中,客户端可以通过网络与服务端进行通信,该服务端具体可以指的是云端,具体不做限定,当服务端接收到接收到应用检测命令后,获取被检测应用的apk文件;将所述apk文件安装到检测设备的Xponsed环境中;检测所述被检测应用是否成功安装到所述Xponsed环境中;当检测到所述被检测应用成功安装到所述Xponsed环境中,执行应用打开命令,以在所述Xponsed环境中启动所述被检测应用;执行模拟用户命令,以通过所述模拟用户命令对所述被检测应用进行操作,所述模拟用户命令用于模拟所述用户对所述被检测应用的使用行为;在运行过程中,利用所述Xponsed环境的Xposed插件监控所述操作并记录;根据所述记录结果生成被检测应用的测试结果文档,最后依据测试结果文档便可了解到应用在执行时厂商限制等的具体情况,具有非常高的实用性,使得开发者可以专注于Android应用本身的功能开发和业务开发,可以及时了解各个终端厂商系统的特点。有效地提高了开发效率较低,实用性较高。
需要说明的是,客户端可以包括但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
下面结合图2,对本发明实施例提供的应用检测方法,应用于服务端中,下面进行详细的描述,具体包括如下步骤:
S10:当接收到应用检测命令后,获取被检测应用的apk文件;
如前述,Android系统具有开放性和可定制性的特点,也真因为Android系统的开放性和可定制性,各个终端(如手机)厂商都基于Android系统开发出一套自己特有的系统,每个终端厂商自己的系统对于Android应用都存在一定的限制且各不相同,特别是存在一些个性化的限制;如敏感信息限制、权限要求限制、运行性能限制,每个终端厂商对这些限制都有自己的标准。发明人意识到,对于Android应用开发者而言,要基于各个厂商的限制来开发Android应用,需要通过人为一个个了解各个终端厂商系统的特点,而又由于各终端厂商系统是不断变化的,通过人为了解的方式成本极高,本发明实施例中,提供了一种特殊的非常实用的应用检测方法,可以及时、有效地了解当前被检测应用是否被终端厂商有所限制。因此,本发明实施例中,在接收到应用检测命令之后,首先需先获取被检测应用的apk文件。
需要说明的是,apk(全称:Android application package,Android应用程序包)是Android操作系统使用的一种应用程序包文件格式,用于分发和安装移动应用及中间件。一个Android应用程序的代码想要在Android设备上运行,必须先进行编译,然后被打包成为一个被Android系统所能识别的文件才可以被运行,而这种能被Android系统识别并运行的文件格式便是“apk”。一个apk文件内包含被编译的代码文件(.dex文件),文件资源(resources),原生资源文件(assets),证书(certificates),和清单文件(manifestfile),具体在此不一一举例和详细说明。需要了解的是,在对被检测应用进行检测时,首选需能运行该被检测应用,而运行的前提是能够被安装到检测设备中,因此,需先获取被检测应用的apk文件。
其中,检测设备在本发明实施例中,指的是能够安装被检测应用,用于后续检测所需的实体硬件设备,例如,该检测设备具体可以是手机、平板电脑等基于Android操作系统的终端设备。
S20:将所述apk文件安装到检测设备的Xponsed环境中。
Xposed框架(Xposed Framework)是一套开源的、在Android高权限模式下运行的框架服务,可以在不修改apk文件的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。本发明实施例中,为了能获取被检测应用的具体使用情况,从而了解到系统层面的信息,需将Xposed框架安装在检测设备中,检测设备在安装了Xposed框架之后,便使得检测设备具备了Xponsed环境。
在检测设备具备Xponsed环境之后,将所述apk文件安装到检测设备的Xponsed环境中。需要说明的是,检测设备安装Xponsed环境,以及apk文件安装到Xponsed环境的具体过程,在此不详细展开说明。
S30:检测所述被检测应用是否成功安装到所述Xponsed环境中。
S40:当检测到所述被检测应用成功安装到所述Xponsed环境中,执行应用打开命令,以在所述Xponsed环境中启动所述被检测应用。
作为一个示例,在将所述apk文件安装到检测设备的Xponsed环境中之后,还需判定所述被检测应用是否成功安装到所述Xponsed环境中。需要说明的是,只有将apk文件成功安装到检测设备的Xponsed环境中之后,方能运行该apk文件对应的被检测应用。因此,本发明实施例需先检测所述被检测应用是否成功安装到所述Xponsed环境中,当检测成功安装之后,才执行后续步骤,便于提高测试成功率。在成功安装之后,便可执行应用打开命令,以在所述Xponsed环境中启动所述被检测应用。该应用打开命令可以通过,Monkey命令实现。
S50:执行模拟用户命令,以通过所述模拟用户命令对所述被检测应用进行操作,所述模拟用户命令用于模拟所述用户对所述被检测应用的使用行为。
S60:在运行过程中,利用所述Xponsed环境的Xposed插件监控所述操作并记录。
对于步骤S50,如前面提及,本发明实施例的目的在于对被检测应用的使用进行检测,因此需实际使用该被检测应用,方能知道该被检测应用真实的使用情况。本发明实施例中,可以脱离实际用户操作过程,而是采用模拟指令的方式,执行模拟用户命令,以通过所述模拟用户命令对所述被检测应用进行操作,所述模拟用户命令用于模拟所述用户对所述被检测应用的使用行为。需要说明的是,该使用行为包括用户对被检测应用的各种各样的使用行为,在此穷举不完。可以举个简单例子,例如,打开应用里面按键输入、触摸屏输入等以触发某个界面,功能模块使用行为等等,具体不做限定和详述。
其中,具体地,可以执行monkey命令模拟用户使用被检测应用的行为。
可以理解的是,Monkey是一种命令行工具,用来发送伪事件,是Android自动化测试的一种手段,可以模拟用户的按键输入,触摸屏输入,手势输入等,测试软件的稳定性,健壮性。号称最快速有效的方法。
对于步骤S60,可以理解,在前面提及,检测设备安装了Xposed框架服务框架,具备了Xposed环境,而Xposed框架服务框架支持许多种插件。
如图3所示。其中,图3为被检测应用被用户使用时,目标函数的正常执行流程。其中,该目标函数为对应的用户某个模拟行为而触发执行的函数。正常流程中,当被检测应用被打开,某个使用行为对应的程序开始,后续就执行目标函数,完成后程序结束。
如图4所示,其中,图3为被检测应用加载到Xposed环境,被用户使用时,目标函数的正常执行流程。将被检测应用加载到xoposed环境后,通过编写的插件预置before目标函数和after目标函数的处理,最终达到对目标函数的拦截监控,从而得到被检测应用运行过程中的操作对应的记录。
换句话说,通过Xposed环境的插件,可以对被检测应用的系统关键函数以及开发者执行函数进行拦截->提取关键信息->放行过程的插件,以及并将中间产生的操作记录关键信息做保存处理的插件。因此,在执行模拟用户命令,以通过所述模拟用户命令对所述被检测应用进行操作,所述模拟用户命令用于模拟所述用户对所述被检测应用的使用行为,可以在运行过程中,利用所述Xponsed环境的Xposed插件监控所述操作并记录。
S70:根据所述记录结果生成被检测应用的测试结果文档。
在在运行过程中,利用所述Xponsed环境的Xposed插件监控所述操作并记录之后,便可以获取到记录结果,随后根据所述记录结果生成被检测应用的测试结果文档。
如图5所示,在一个示例中,步骤S10中,也即所述获取被检测应用的apk文件,指的是接收用户通过客户端发送的应用检测命令,所述应用检测命令包含所述被检测应用的apk文件。
作为一个实施例,所述根据所述记录结果生成被检测应用的测试结果文档之后,将所述测试结果文档进行存储,并根据所述存储结果生成文档链接;将所述文档链接和检测完成指示信息反馈至客户端,以使所述用户根据所述检测完成指示信息的指示,利用所述文档链接下载所述测试结果文档,使得用户可以及时通过文档链接,随时获取到测试结果。
作为一个示例,步骤S70中,也即根据所述记录结果生成被检测应用的测试结果文档,具体包括如下步骤:
S71:根据所述记录结果,获取所述被检测应用的限制行为,所述限制行为所述检检测应用对应的厂商的所设定的限制行为;
S72对所述限制行为进行分类并归纳后,生成所述被检测应用的测试结果文档。
对于步骤S71-S72,需要说明的是,记录结果可以有很多种,但是为了解该检测设备的Android操作系统对该被检测应用的限制,以辅助后续的对该被检测应用的开发设计,根据所述记录结果,获取所述被检测应用的限制行为,所述限制行为所述检检测应用对应的厂商的所设定的限制行为,所述限制行为所述检检测应用对应的厂商的所设定的限制行为,例如权限相关限制、隐私数据限制相关设置、性能指标限制相关设置等,具体不做限定,也不一一说明。
作为一个示例,步骤S20中,也即将所述apk文件安装到检测设备的Xponsed环境中,具体包括如下步骤:
S21:与目标局域网内的多个检测设备建立通信连接;
S22:依据所述通信连接,判断所述多个检测设备的各是否处于空闲状态依据所述通信连接,判断所述多个检测设备的各是否处于空闲状态,其中,多个检测设备为采用不同的终端厂商提供的设备,所述多个检测设备对应的安卓系统为各终端厂商所提供的安卓系统;
S23:当判断所述多个检测设备处于空闲状态,则检测所述多个检测设备是否已安装所述被检测应用;
S24:当检测到所述多个检测设备已安装所述被检测应用,则分别将所述apk文件复制到多个检测设备的Xponsed环境中。
该实施例中,如前述,Android系统具有开放性和可定制性的特点,也真因为Android系统的开放性和可定制性,各个终端(如手机)厂商都基于Android系统开发出一套自己特有的系统,每个终端厂商自己的系统对于Android应用都存在一定的限制且各不相同,特别是存在一些个性化的限制;如敏感信息限制、权限要求限制、运行性能限制,每个终端厂商对这些限制都有自己的标准。发明人意识到,对于Android应用开发者而言,要基于各个厂商的限制来开发Android应用,需要通过人为一个个了解各个终端厂商系统的特点,而又由于各终端厂商系统是不断变化的,通过人为了解的方式成本极高,无法专注于Android应用本身的功能开发和业务开发,因此,本发明实施例为了快速测试,可以在一个目标局域网中,连通各个检测设备,其中,各个检测设备是指不同的设备,例如手机1、手机2、手机3,这3个手机都是由不同的终端厂商提供,故手机1、手机2、手机3对应的Android操作系统不同,这样,经过一次测试,便可一次性了解到手机1、手机2、手机3的Android操作系统,对该被检测应用的使用限制等信息,可以使得开发者专注于Android应用本身的功能开发和业务开发,提供了开发效率,具有较高的实用性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种应用检测装置,该应用检测装置与上述实施例中应用检测方法一一对应。如图6所示,该编码处理装置包括获取模块101、安装模块102、检测模块103、第一执行模块104、第二执行模块105、记录模块106和生成模块107。各功能模块详细说明如下:
获取模块,用于当接收到应用检测命令后,获取被检测应用的apk文件;
安装模块,用于将所述apk文件安装到检测设备的Xponsed环境中;
检测模块,用于检测所述被检测应用是否成功安装到所述Xponsed环境中;
第一执行模块,用于当检测到所述被检测应用成功安装到所述Xponsed环境中,执行应用打开命令,以在所述Xponsed环境中启动所述被检测应用;
第二执行模块,用于执行模拟用户命令,以通过所述模拟用户命令对所述被检测应用进行操作,所述模拟用户命令用于模拟所述用户对所述被检测应用的使用行为;
记录模块,用于在运行过程中,利用所述Xponsed环境的Xposed插件监控所述操作并记录;
生成模块,用于根据所述记录结果生成被检测应用的测试结果文档。
在一实施例中,所述安装模块,具体用于:
与目标局域网内的多个检测设备建立通信连接;
依据所述通信连接,判断所述多个检测设备的各是否处于空闲状态;
当判断所述多个检测设备处于空闲状态,则检测所述多个检测设备是否已安装所述被检测应用;
当检测到所述多个检测设备已安装所述被检测应用,则分别将所述apk文件复制到多个检测设备的Xponsed环境中。
在一实施例中,所述获取模块,具体用于:
接收用户通过客户端发送的应用检测命令,所述应用检测命令包含所述被检测应用的apk文件。
在一实施例中,所述生成模块,具体用于:
根据所述记录结果,获取所述被检测应用的限制行为,所述限制行为所述检检测应用对应的厂商的所设定的限制行为;
对所述限制行为进行分类并归纳后,生成所述被检测应用的测试结果文档。
在一实施例中,应用检测装置还包括发送模块;
所述生成模块,还用于将所述测试结果文档进行存储,并根据所述存储结果生成文档链接;
所述发送模块,用于将所述文档链接和检测完成指示信息反馈至客户端,以使所述用户根据所述检测完成指示信息的指示,利用所述文档链接下载所述测试结果文档。
上述应用检测装置中,将所述apk文件安装到检测设备的Xponsed环境中;检测所述被检测应用是否成功安装到所述Xponsed环境中;当检测到所述被检测应用成功安装到所述Xponsed环境中,执行应用打开命令,以在所述Xponsed环境中启动所述被检测应用;执行模拟用户命令,以通过所述模拟用户命令对所述被检测应用进行操作,所述模拟用户命令用于模拟所述用户对所述被检测应用的使用行为;在运行过程中,利用所述Xponsed环境的Xposed插件监控所述操作并记录;根据所述记录结果生成被检测应用的测试结果文档,最后依据测试结果文档便可了解到应用在执行时厂商限制等的具体情况,具有非常高的实用性,使得开发者可以专注于Android应用本身的功能开发和业务开发,可以及时了解各个终端厂商系统的特点。有效地提高了开发效率较低,实用性较高。
关于应用检测装置的具体限定可以参见上文中对于应用检测方法的限定,在此不再赘述。上述应用检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务端,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该计算机程序被处理器执行时以实现一种应用检测方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
当接收到应用检测命令后,获取被检测应用的apk文件;
将所述apk文件安装到检测设备的Xponsed环境中;
检测所述被检测应用是否成功安装到所述Xponsed环境中;
当检测到所述被检测应用成功安装到所述Xponsed环境中,执行应用打开命令,以在所述Xponsed环境中启动所述被检测应用;
执行模拟用户命令,以通过所述模拟用户命令对所述被检测应用进行操作,所述模拟用户命令用于模拟所述用户对所述被检测应用的使用行为;
在运行过程中,利用所述Xponsed环境的Xposed插件监控所述操作并记录;
根据所述记录结果生成被检测应用的测试结果文档。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
当接收到应用检测命令后,获取被检测应用的apk文件;
将所述apk文件安装到检测设备的Xponsed环境中;
检测所述被检测应用是否成功安装到所述Xponsed环境中;
当检测到所述被检测应用成功安装到所述Xponsed环境中,执行应用打开命令,以在所述Xponsed环境中启动所述被检测应用;
执行模拟用户命令,以通过所述模拟用户命令对所述被检测应用进行操作,所述模拟用户命令用于模拟所述用户对所述被检测应用的使用行为;
在运行过程中,利用所述Xponsed环境的Xposed插件监控所述操作并记录;
根据所述记录结果生成被检测应用的测试结果文档。
本发明实施例还提供了一种应用检测系统,包括上述服务端和客户端。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种应用检测方法,其特征在于,包括:
当接收到应用检测命令后,获取被检测应用的apk文件;
将所述apk文件安装到检测设备的Xponsed环境中;
检测所述被检测应用是否成功安装到所述Xponsed环境中;
当检测到所述被检测应用成功安装到所述Xponsed环境中,执行应用打开命令,以在所述Xponsed环境中启动所述被检测应用;
执行模拟用户命令,以通过所述模拟用户命令对所述被检测应用进行操作,所述模拟用户命令用于模拟所述用户对所述被检测应用的使用行为;
在运行过程中,利用所述Xponsed环境的Xposed插件监控所述操作并记录;
根据所述记录结果生成被检测应用的测试结果文档。
2.如权利要求1所述的应用检测方法,其特征在于,所述将所述apk文件安装到检测设备的Xponsed环境中,包括:
与目标局域网内的多个检测设备建立通信连接;
依据所述通信连接,判断所述多个检测设备的各是否处于空闲状态,其中,多个检测设备为采用不同的终端厂商提供的设备,所述多个检测设备对应的安卓操作系统为各终端厂商所提供的安卓操作系统;
当判断所述多个检测设备处于空闲状态,则检测所述多个检测设备是否已安装所述被检测应用;
当检测到所述多个检测设备已安装所述被检测应用,则分别将所述apk文件复制到多个检测设备的Xponsed环境中。
3.如权利要求1或2所述的应用检测方法,其特征在于,所述获取被检测应用的apk文件,包括:
接收用户通过客户端发送的应用检测命令,所述应用检测命令包含所述被检测应用的apk文件。
4.如权利要求1或2所述的应用检测方法,其特征在于,所述根据所述记录结果生成被检测应用的测试结果文档,包括:
根据所述记录结果,获取所述被检测应用的限制行为,所述限制行为所述检检测应用对应的厂商的所设定的限制行为;
对所述限制行为进行分类并归纳后,生成所述被检测应用的测试结果文档。
5.如权利要求1或2所述的应用检测方法,其特征在于,所述根据所述记录结果生成被检测应用的测试结果文档之后,所述方法还包括:
将所述测试结果文档进行存储,并根据所述存储结果生成文档链接;
将所述文档链接和检测完成指示信息反馈至客户端,以使所述用户根据所述检测完成指示信息的指示,利用所述文档链接下载所述测试结果文档。
6.一种应用检测装置,其特征在于,包括:
获取模块,用于当接收到应用检测命令后,获取被检测应用的apk文件;
安装模块,用于将所述apk文件安装到检测设备的Xponsed环境中;
检测模块,用于检测所述被检测应用是否成功安装到所述Xponsed环境中;
第一执行模块,用于当检测到所述被检测应用成功安装到所述Xponsed环境中,执行应用打开命令,以在所述Xponsed环境中启动所述被检测应用;
第二执行模块,用于执行模拟用户命令,以通过所述模拟用户命令对所述被检测应用进行操作,所述模拟用户命令用于模拟所述用户对所述被检测应用的使用行为;
记录模块,用于在运行过程中,利用所述Xponsed环境的Xposed插件监控所述操作并记录;
生成模块,用于根据所述记录结果生成被检测应用的测试结果文档。
7.如权利要求6所述的应用检测装置,其特征在于,所述安装模块,具体用于:
与目标局域网内的多个检测设备建立通信连接;
依据所述通信连接,判断所述多个检测设备的各是否处于空闲状态,其中,多个检测设备为采用不同的终端厂商提供的设备,所述多个检测设备对应的安卓操作系统为各终端厂商所提供的安卓操作系统;
当判断所述多个检测设备处于空闲状态,则检测所述多个检测设备是否已安装所述被检测应用;
当检测到所述多个检测设备已安装所述被检测应用,则分别将所述apk文件复制到多个检测设备的Xponsed环境中。
8.如权利要求6或7所述的应用检测装置,其特征在于,所述获取模块,具体用于:
接收用户通过客户端发送的应用检测命令,所述应用检测命令包含所述被检测应用的apk文件。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-5任一项所述的应用检测方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如如权利要求1-5任一项所述的应用检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011475941.2A CN112560035B (zh) | 2020-12-15 | 2020-12-15 | 应用检测方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011475941.2A CN112560035B (zh) | 2020-12-15 | 2020-12-15 | 应用检测方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112560035A true CN112560035A (zh) | 2021-03-26 |
CN112560035B CN112560035B (zh) | 2024-04-02 |
Family
ID=75064744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011475941.2A Active CN112560035B (zh) | 2020-12-15 | 2020-12-15 | 应用检测方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112560035B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760301A (zh) * | 2016-02-24 | 2016-07-13 | 惠州Tcl移动通信有限公司 | 一种基于Monkey命令的自动化测试方法及系统 |
CN109558304A (zh) * | 2017-09-27 | 2019-04-02 | 北京邮电大学 | 一种组件关联分析方法、装置及电子设备 |
CN110362483A (zh) * | 2019-06-19 | 2019-10-22 | 平安普惠企业管理有限公司 | 性能数据采集方法、装置、设备及存储介质 |
CN110489342A (zh) * | 2019-07-31 | 2019-11-22 | 广州微算互联信息技术有限公司 | 一种安卓应用测试方法、系统、装置及存储介质 |
CN111639021A (zh) * | 2020-05-14 | 2020-09-08 | 深圳壹账通智能科技有限公司 | 应用程序的权限测试方法、装置及终端设备 |
CN111857701A (zh) * | 2020-07-24 | 2020-10-30 | 深圳市和讯华谷信息技术有限公司 | 终端动态界面显示方法、装置、计算机设备及存储介质 |
-
2020
- 2020-12-15 CN CN202011475941.2A patent/CN112560035B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760301A (zh) * | 2016-02-24 | 2016-07-13 | 惠州Tcl移动通信有限公司 | 一种基于Monkey命令的自动化测试方法及系统 |
CN109558304A (zh) * | 2017-09-27 | 2019-04-02 | 北京邮电大学 | 一种组件关联分析方法、装置及电子设备 |
CN110362483A (zh) * | 2019-06-19 | 2019-10-22 | 平安普惠企业管理有限公司 | 性能数据采集方法、装置、设备及存储介质 |
CN110489342A (zh) * | 2019-07-31 | 2019-11-22 | 广州微算互联信息技术有限公司 | 一种安卓应用测试方法、系统、装置及存储介质 |
CN111639021A (zh) * | 2020-05-14 | 2020-09-08 | 深圳壹账通智能科技有限公司 | 应用程序的权限测试方法、装置及终端设备 |
CN111857701A (zh) * | 2020-07-24 | 2020-10-30 | 深圳市和讯华谷信息技术有限公司 | 终端动态界面显示方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
雷蕾: "Android系统交互性能的检测与分析", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 5, pages 1 - 59 * |
Also Published As
Publication number | Publication date |
---|---|
CN112560035B (zh) | 2024-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111782535B (zh) | 测试方法及装置 | |
US20160378989A1 (en) | Apparatus and method for monitoring android platform-based application | |
US10305962B1 (en) | Unit testing clients of web services | |
CN108400978B (zh) | 漏洞检测方法、装置、计算机设备和存储介质 | |
CN110995825B (zh) | 一种智能合约的发布方法、智能节点设备及存储介质 | |
CN109683997B (zh) | 通过沙箱访问应用程序接口的方法、沙箱及沙箱设备 | |
CN107797818A (zh) | 应用程序升级方法及装置 | |
CN109831351B (zh) | 链路跟踪方法、装置、终端及存储介质 | |
CN108197469B (zh) | 校验应用程序的方法、装置和存储介质以及电子设备 | |
CN108958785B (zh) | 一种应用程序升级方法及装置 | |
CN114237498A (zh) | 一种云原生存储数据卷的快照生成方法与系统 | |
CN110851151A (zh) | 预装应用的方法、装置、终端、服务器和存储介质 | |
CN112699034B (zh) | 虚拟登录用户构建方法、装置、设备及存储介质 | |
CN112650689A (zh) | 测试方法、装置、电子设备及存储介质 | |
CN113127329B (zh) | 脚本调试方法、装置及计算机存储介质 | |
CN111712795A (zh) | 用于评估应用部署的方法、设备、计算机程序产品和可读介质 | |
CN113342660B (zh) | 文件测试方法、装置、系统、电子设备及可读存储介质 | |
CN112560035B (zh) | 应用检测方法、装置、设备及存储介质 | |
CN107688479B (zh) | Android系统网络集群及其搭建的方法、Android系统网络集群数据处理的方法和系统 | |
CN114880244A (zh) | 应用测试方法及装置、存储介质及电子设备 | |
CN113986744A (zh) | 一种分库分表组件的测试方法、装置及存储介质 | |
CN109428936B (zh) | App的升级方法、装置、系统、电子设备及存储介质 | |
CN112965697A (zh) | 一种代码文件的生成方法、装置及电子设备 | |
CN112685071A (zh) | 应用程序修复方法、装置、设备及存储介质 | |
US11714744B2 (en) | System and method for diagnosing a computing device in safe mode |
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 |