CN104090836B - 应用程序对系统广播的响应测试方法及装置 - Google Patents

应用程序对系统广播的响应测试方法及装置 Download PDF

Info

Publication number
CN104090836B
CN104090836B CN201410053311.4A CN201410053311A CN104090836B CN 104090836 B CN104090836 B CN 104090836B CN 201410053311 A CN201410053311 A CN 201410053311A CN 104090836 B CN104090836 B CN 104090836B
Authority
CN
China
Prior art keywords
broadcast
broadcasts
antiforge
message receiver
application
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
CN201410053311.4A
Other languages
English (en)
Other versions
CN104090836A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201410053311.4A priority Critical patent/CN104090836B/zh
Publication of CN104090836A publication Critical patent/CN104090836A/zh
Application granted granted Critical
Publication of CN104090836B publication Critical patent/CN104090836B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

一种应用程序对系统广播的响应测试方法及装置,其中方法包括:设置待测应用的系统消息接收器可接收伪系统广播;发出伪系统广播;触发所述系统消息接收器接收所述伪系统广播;在所述系统消息接收器处理所述伪系统广播前,将所述系统消息接收器所处理的广播参数由伪系统广播修改为对应的真系统广播,以使系统消息接收器处理所述真系统广播。本发明实施例可在任意时刻随时的通过发出伪系统广播,来完成待测应用对对应真系统广播的响应,极大的提升了应用程序产品对系统广播的响应处理的测试效率。

Description

应用程序对系统广播的响应测试方法及装置
技术领域
本发明涉及计算机技术领域,更具体地说,涉及一种应用程序对系统广播的响应测试方法及装置。
背景技术
目前电子设备所装载的智能操作系统主要包括:Andriod,IOS,WindowsPhone等;在这些装载有智能操作系统的电子设备中主要有两类广播事件:系统广播和应用自定义广播;系统广播来自于电子设备的智能操作系统本身,如电子设备开机广播,网络切换广播,电量变化广播;系统广播只能由智能操作系统发出,电子设备的应用程序是没有权限发出的,否则在电子设备运行时,将出现权限安全异常等问题。此处所指的系统广播是系统的一个事件。
基于此,在对应用程序产品进行测试时,经常需要测试应用程序是否会对各类的系统广播事件进行正确的响应处理,如应用程序是否会对电量变化广播进行正确的响应处理,从而执行电量提示等操作。然而,系统广播的触发依赖于电子设备当前的物理状态的改变,所以只能人为的去改变电子设备的物理状态,进而触发电子设备的操作系统发出系统广播;比如要触发智能操作系统发出电量变化广播,则需要人为的去消耗电子设备的电量。
然而,现有通过人为改变电子设备的物理状态,从而触发系统广播发出的方式,对于电子设备的物理状态具有严格的要求,并无法在任意时刻随时触发系统广播的发出,这使得应用程序产品对系统广播的响应处理的测试效率较低。
发明内容
为解决上述技术问题,本发明提供一种应用程序对系统广播的响应测试方法及装置,以解决现有技术无法在任意时刻随时触发系统广播发出,使得应用程序产品对系统广播的响应处理的测试效率较低的问题。
为实现上述目的,本发明提供如下技术方案:
一种应用程序对系统广播的响应测试方法,包括:
设置待测应用的系统消息接收器可接收伪系统广播;
发出伪系统广播;
触发所述系统消息接收器接收所述伪系统广播;
在所述系统消息接收器处理所述伪系统广播前,将所述系统消息接收器所处理的广播参数由伪系统广播修改为对应的真系统广播,以使系统消息接收器处理所述真系统广播。
本发明实施例还提供一种应用程序对系统广播的响应测试装置,包括:
设置模块,用于设置待测应用的系统消息接收器可接收伪系统广播;
伪系统广播发出模块,用于发出伪系统广播;
触发接收模块,用于触发所述系统消息接收器接收所述伪系统广播;
修改模块,用于在所述系统消息接收器处理所述伪系统广播前,将所述系统消息接收器所处理的广播参数由伪系统广播修改为对应的真系统广播,以使系统消息接收器处理所述真系统广播。
基于上述技术方案,本发明实施例通过设置待测应用的系统消息接收器可接收伪系统广播,并在系统消息接收器接收到伪系统广播并进行处理前,将所处理的伪系统广播修改为对应的真系统广播,从而对真系统广播进行处理;使得系统消息接收器可通过接收伪系统广播,完成对真系统广播的响应,避免了现有技术需要电子设备的物理状态的改变来实现真系统广播的发出,从而完成待测产品对真系统广播的响应处理的问题;本发明实施例可在任意时刻随时的通过发出伪系统广播,来完成待测应用对对应真系统广播的响应,极大的提升了应用程序产品对系统广播的响应处理的测试效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的应用程序对系统广播的响应测试方法的流程图;
图2为本发明实施例提供的插桩编译示意图;
图3为本发明实施例提供的应用程序对系统广播的响应测试装置的结构框图;
图4为本发明实施例提供的设置模块的结构框图;
图5为本发明实施例提供的添加单元的结构框图;
图6为本发明实施例提供的添加单元的另一结构框图;
图7为本发明实施例提供的伪系统广播发出模块的结构框图;
图8为本发明实施例提供的修改模块的结构框图;
图9为本发明实施例提供的电子设备的硬件结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的应用程序对系统广播的响应测试方法的流程图,该方法可应用于装载有智能操作系统的电子设备,该电子设备可以是智能终端(如智能手机,平板电脑等),也可以是PC(个人计算机),参照图1,该方法可以包括:
步骤S100、设置待测应用的系统消息接收器可接收伪系统广播;
可选的,可为待测应用的系统消息接收器添加可接收伪系统广播的action(行为),从而达到设置待测应用的系统消息接收器可接收伪系统广播的目的。
步骤S110、发出伪系统广播;
步骤S120、触发所述系统消息接收器接收所述伪系统广播;
步骤S130、在所述系统消息接收器处理所述伪系统广播前,将所述系统消息接收器所处理的广播参数由伪系统广播修改为对应的真系统广播,以使系统消息接收器处理所述真系统广播。
可选的,本发明实施例可通过监测系统消息接收器的处理函数,在检测到处理函数被调用执行前,可将所述处理函数所处理的action参数类型从伪系统广播修改为对应的真系统广播,以使系统消息接收器处理所述真系统广播。
可选的,伪系统广播可以是与智能操作系统所发出的系统广播所要广播的事件类型一致,但参数属性不一致的广播;真系统广播可以是与智能操作系统所发出的系统广播一致的广播,伪系统广播与其对应的真系统广播所要广播的事件类型一致。以安卓操作系统的系统广播所要广播的事件类型为网络连接改变为例,真系统广播与安卓操作系统所发出的系统广播一致,均可为android.net.conn.CONNECTIVITY_CHANGE,伪系统广播可以是与真系统广播所广播的事件类型一致,但参数属性不一致,如伪系统广播可以设置为android.net.conn.CONNECTIVITY_CHANGE_FAKE。
本发明实施例通过设置待测应用的系统消息接收器可接收伪系统广播,并在系统消息接收器接收到伪系统广播并进行处理前,将所处理的伪系统广播修改为对应的真系统广播,从而对真系统广播进行处理;使得系统消息接收器可通过接收伪系统广播,完成对真系统广播的响应,避免了现有技术需要电子设备的物理状态的改变来实现真系统广播的发出,从而完成待测产品对真系统广播的响应处理的问题;本发明实施例可在任意时刻随时的通过发出伪系统广播,来完成待测应用对对应真系统广播的响应,极大的提升了应用程序产品对系统广播的响应处理的测试效率。
目前,智能操作系统中对系统消息的注册方式主要有两种:静态注册和动态注册;本发明实施例可支持上述任一种的系统消息注册方式。
可选的,对于静态注册系统消息的方式,本发明实施例实现为待测应用的系统消息接收器添加可接收伪系统广播的action的方式可以是:对在系统清单中声明的待测应用的系统消息接收器追加可接收伪系统广播的action。以Android操作系统中的网络连接改变广播(android.net.conn.CONNECTIVITY_CHANGE)为例,网络连接改变广播的伪系统广播可以为android.net.conn.CONNECTIVITY_CHANGE_FAKE,本发明实施例可对在安卓系统清单(AndroidManifest.xml)中所声明的待测应用的系统消息接收器(receiver)追加接收android.net.conn.CONNECTIVITY_CHANGE_FAKE的action。
可选的,对于动态注册系统消息的方式,本发明实施例为待测应用的系统消息接收器添加可接收伪系统广播的action的方式可以是:过滤出待测应用的class(类)文件的系统广播消息注册函数的调用点,在所述调用点为所述系统消息接收器增加所要接收的伪系统广播的事件类型。以Android操作系统中的网络连接改变广播为例,本发明实施例可过滤出系统广播消息注册函数android.content.Context.registerReceiver()的调用点,给CONNECTIVITY_ACTION消息的接收者增加一个模拟消息FAKE_INTENT_NETTYPE。
可选的,步骤S110发出伪系统广播的方式可以是:本发明实施例可预置系统广播配置文件,需要激活的系统广播可预置在系统广播配置文件中,可通过解析系统广播配置文件,在待测应用调用系统广播消息注册函数处,判断是否有在该系统广播配置文件中需要激活的系统广播,若有,则修改系统广播消息注册函数的需要注册的系统广播类型,在所述需要注册的系统广播类型中追加需要激活的系统广播所对应的伪系统广播;当系统广播配置文件中的系统广播消息被触发时,可发出对应的伪系统广播,从而实现伪系统广播的发出。以android操作系统的网络连接改变为例,本发明实施例可解析系统广播配置文件,在被测应用调用registerReceiver()处进行判断,是否有在配置文件中需要激活的系统消息,如果有,则修改registerRecevier()的intentFilter参数,追加一个假系统消息,如:android.net.conn.CONNECTIVITY_CHANGE_FAKE;当系统广播配置文件中的android.net.conn.CONNECTIVITY_CHANGE被触发时,可发出android.net.conn.CONNECTIVITY_CHANGE_FAKE的伪系统广播。
由于前面已设置接收系统广播的系统消息接收器可接收伪系统广播,因此系统消息接收器既可接收真系统广播也可接收伪系统广播。由于系统广播的发出具有严格的电子设备的物理状态要求,因此本发明实施例通过发出伪系统广播来替代真正的系统广播,在系统消息接收器接收到伪系统广播,通过处理函数对伪系统广播处理前,可通过修改处理函数的action参数类型,将其由伪系统广播修改为对应的真系统广播,从而使得处理函数对真系统广播进行处理,从而达成待测应用对系统广播的响应处理测试的目的。
为便于理解本发明实施例提供的应用程序对系统广播的响应测试方法,下面以真系统广播为android的网络连接改变广播(android.net.conn.CONNECTIVITY_CHANGE)为例对本发明进行详细描述,对应的,伪系统广播为android.net.conn.CONNECTIVITY_CHANGE_FAKE。
对于静态注册的方式,本发明实施例可对AndroidManifest.xml中声明的待测应用的系统消息接收器,追加一个自定义的action,如对于android.net.conn.CONNECTIVITY_CHANGE事件类型,可追加自定义的android.net.conn.CONNECTIVITY_CHANGE_FAKE事件类型:从而使得待测应用的系统消息接收器添加可接收android.net.conn.CONNECTIVITY_CHANGE_FAKE的action;
对于动态注册的方式,本发明实施例可利用AOP技术(面向切面编程技术,如AspectJ工具)对被测应用访问系统广播消息注册函数android.content.Context.registerReceiver()函数的代码进行截获,对registerRecevier函数调用点增加插桩代码,使得接收CONNECTIVITY_ACTION消息的系统消息接收器增加一个伪系统消息FAKE_INTENT_NETTYPE。从而使得待测应用的系统消息接收器添加可接收android.net.conn.CONNECTIVITY_CHANGE_FAKE的action。
无论对于上述哪种方式,本发明实施例可解析系统广播配置文件,在被测应用调用registerReceiver()处进行判断,是否有在配置文件中需要激活的系统消息,如果有,则修改registerRecevier()的intentFilter参数,追加一个假系统消息,android.net.conn.CONNECTIVITY_CHANGE_FAKE;当系统广播配置文件中的系统广播android.net.conn.CONNECTIVITY_CHANGE被激活时(可通过人为进行系统广播配置文件中的系统广播的激活),对应的android.net.conn.CONNECTIVITY_CHANGE_FAKE将发出,此时系统消息接收器由于设置了可接收android.net.conn.CONNECTIVITY_CHANGE_FAKE的action,因此系统消息接收器将接收android.net.conn.CONNECTIVITY_CHANGE_FAKE,在接收到android.net.conn.CONNECTIVITY_CHANGE_FAKE后,系统消息接收器中的处理函数(onReceive函数)将被触发对android.net.conn.CONNECTIVITY_CHANGE_FAKE进行处理,本发明实施例可在onReceive函数执行前,通过修改onReceive函数的action参数类型,将该参数类型由android.net.conn.CONNECTIVITY_CHANGE_FAKE修改为android.net.conn.CONNECTIVITY_CHANGE,即修改为真系统广播,从而使得处理函数可对android.net.conn.CONNECTIVITY_CHANGE进行处理,达成待测应用对真系统广播的响应测试的目的。
本发明实施例可通过发出伪系统广播,使得系统消息接收器不必要接收真系统广播即可完成对真系统广播的响应测试,极大的提升了应用程序产品对系统广播的响应处理的测试效率。
可选的,本发明实施例可同时支持静态注册和动态注册的系统消息注册方式。以Android操作系统为例,本发明在实现上主要利用了插桩编译器和Android编译器,其中用到的文件可以有系统广播插桩脚本、系统广播通知插桩脚本,被测应用的javaclass文件,修改后的AndroidManifest.xml。结合图2所示插桩编译示意图:
其中,系统广播插桩脚本,主要利用AOP技术对待测应用进行插桩,主要是过滤出对系统广播消息注册函数的调用点,然后插入测试代码,完成系统消息接收器可接收伪系统广播的设置。
系统广播通知插桩脚本,主要用于发送伪系统广播消息,从而绕过直接发送系统广播的权限不足的问题(PermissionDenial),同时对系统消息接收器的处理函数(onRecevie函数)进行截获、在该函数执行前修改参数和真系统广播一致的参数值,从而达到欺骗系统消息接收器所接收的伪系统广播即为真系统广播的目的。
其中,插桩编译器可以使用已有的AOP技术工具,如AspectJ的编译器ajc,对系统消息插桩脚本进行编译以及对被测应用的javaclass文件进行插桩,生成插桩后的class文件。然后交给android编译器生成插桩后的被测Androidapk(安装包)。
Android编译器结合插桩后的class文件和修改后的AndroidManifest.xml,生成插桩后的被测Androidapk。
系统广播桩模块运行在被测Androidapk内,以网络连接改变广播为例,系统广播桩模块主要负责:
(a)解析系统广播配置文件,在被测应用调用registerReceiver()处进行判断,是否有在配置文件中需要激活的系统消息,如果有,则修改registerRecevier()的intentFilter参数,追加一个假系统消息,如:android.net.conn.CONNECTIVITY_CHANGE_FAKE。
(b)触发模拟的系统广播:当测试人员触发模拟的系统广播时,如通过某测试UI界面激活某个定义在系统广播配置文件中的模拟系统消息,如:android.net.conn.CONNECTIVITY_CHANGE,系统广播桩模块会发出相应的android.net.conn.CONNECTIVITY_CHANGE_FAKE通知,该通知的接收者同时也是注册过android.net.conn.CONNECTIVITY_CHANGE的接收者,从而也被触发。同时,系统广播桩模块会监听各个android.net.conn.CONNECTIVITY_CHANGE_FAKE的接收者的onReceive函数,在onReceive函数执行前,会篡改action参数类型,将其从android.net.conn.CONNECTIVITY_CHANGE_FAKE修改为android.net.conn.CONNECTIVITY_CHANGE,以及设定一定的extra参数,从而达到和处理android发出的系统广播相同的效果。
下面对本发明实施例提供的应用程序对系统广播的响应测试装置进行描述,下文描述的应用程序对系统广播的响应测试装置与上文描述的应用程序对系统广播的响应测试方法可相互对应参照。
图3为本发明实施例提供的应用程序对系统广播的响应测试装置的结构框图,参照图3,该装置可以包括:
设置模块100,用于设置待测应用的系统消息接收器可接收伪系统广播;
伪系统广播发出模块200,用于发出伪系统广播;
触发接收模块300,用于触发所述系统消息接收器接收所述伪系统广播;
修改模块400,用于在所述系统消息接收器处理所述伪系统广播前,将所述系统消息接收器所处理的广播参数由伪系统广播修改为对应的真系统广播,以使系统消息接收器处理所述真系统广播。
可选的,图4示出了设置模块100的一种可选结构,参照图4,设置模块100可以包括:
添加单元110,用于为待测应用的系统消息接收器添加可接收伪系统广播的action。
可选的,图5示出了添加单元110的一种可选结构,参照图5,添加单元110可以包括:
第一添加子单元111,用于对于静态注册系统消息的方式,对在系统清单中声明的待测应用的系统消息接收器追加可接收伪系统广播的action。
可选的,图6示出了添加单元110的另一种可选结构,参照图6,添加单元110可以包括:
第二添加子单元112,用于对于动态注册系统消息的方式,过滤出待测应用的class文件的系统广播消息注册函数的调用点,在所述调用点为所述系统消息接收器增加所要接收的伪系统广播的事件类型。
可选的,图5所示添加单元110中也可包括图6所示第二添加子单元112。
可选的,图7示出了伪系统广播发出模块200的一种可选结构,参照图7,伪系统广播发出模块200可以包括:
解析单元210,用于解析系统广播配置文件,所述系统广播配置文件预置有需要激活的系统广播;
追加单元220,用于在待测应用调用系统广播消息注册函数处,检测到存在有所述系统广播配置文件中需要激活的系统广播时,在系统广播消息注册函数的需要注册的系统广播类型中追加需要激活的系统广播所对应的伪系统广播;
发出单元230,用于在系统广播配置文件中的系统广播消息被触发时,发出对应的伪系统广播。
可选的,图8示出了修改模块400的一种可选结构,参照图8,修改模块400可以包括:
参数类型修改单元410,用于在检测到系统消息接收器的处理函数被调用执行前,将所述处理函数所处理的action参数类型从伪系统广播修改为对应的真系统广播。
本发明实施例通过设置待测应用的系统消息接收器可接收伪系统广播,并在系统消息接收器接收到伪系统广播并进行处理前,将所处理的伪系统广播修改为对应的真系统广播,从而对真系统广播进行处理;本发明实施例可在任意时刻随时的通过发出伪系统广播,来完成待测应用对对应真系统广播的响应,极大的提升了应用程序产品对系统广播的响应处理的测试效率。
本发明实施例还提供一种电子设备,该电子设备可以包括上述所述的应用程序对系统广播的响应测试装置,应用程序对系统广播的响应测试装置可参照上文对应部分描述,此处不再赘述。
图9为本发明实施例提供的电子设备的硬件结构框图,参照图9,该电子设备可以包括:处理器1,通信接口2,存储器3和通信总线4;
其中处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
可选的,通信接口2可以为通信模块的接口,如GSM模块的接口;
处理器1,用于执行程序;
存储器3,用于存放程序;
程序可以包括程序代码,所述程序代码包括计算机操作指令。
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecificIntegratedCircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
其中,程序可具体用于:
设置待测应用的系统消息接收器可接收伪系统广播;
发出伪系统广播;
触发所述系统消息接收器接收所述伪系统广播;
在所述系统消息接收器处理所述伪系统广播前,将所述系统消息接收器所处理的广播参数由伪系统广播修改为对应的真系统广播,以使系统消息接收器处理所述真系统广播。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种应用程序对系统广播的响应测试方法,其特征在于,包括:
设置待测应用的系统消息接收器可接收伪系统广播;
发出伪系统广播;
触发所述系统消息接收器接收所述伪系统广播;
在所述系统消息接收器处理所述伪系统广播前,将所述系统消息接收器所处理的广播参数由伪系统广播修改为对应的真系统广播,以使系统消息接收器处理所述真系统广播;其中所述伪系统广播与所述真系统广播所广播的事件类型一致,但参数属性不一致。
2.根据权利要求1所述的应用程序对系统广播的响应测试方法,其特征在于,所述设置待测应用的系统消息接收器可接收伪系统广播包括:
为待测应用的系统消息接收器添加可接收伪系统广播的行为。
3.根据权利要求2所述的应用程序对系统广播的响应测试方法,其特征在于,所述为待测应用的系统消息接收器添加可接收伪系统广播的行为包括:
对于静态注册系统消息的方式,对在系统清单中声明的待测应用的系统消息接收器追加可接收伪系统广播的行为;
或,对于动态注册系统消息的方式,过滤出待测应用的类文件的系统广播消息注册函数的调用点,在所述调用点为所述系统消息接收器增加所要接收的伪系统广播的事件类型。
4.根据权利要求1所述的应用程序对系统广播的响应测试方法,其特征在于,所述发出伪系统广播包括:
解析系统广播配置文件,所述系统广播配置文件预置有需要激活的系统广播;
在待测应用调用系统广播消息注册函数处,检测到存在有所述系统广播配置文件中需要激活的系统广播时,在系统广播消息注册函数的需要注册的系统广播类型中追加需要激活的系统广播所对应的伪系统广播;
在系统广播配置文件中的系统广播消息被触发时,发出对应的伪系统广播。
5.根据权利要求1所述的应用程序对系统广播的响应测试方法,其特征在于,所述将所述系统消息接收器所处理的广播参数由伪系统广播修改为对应的真系统广播包括:
在检测到系统消息接收器的处理函数被调用执行前,将所述处理函数所处理的行为参数类型从伪系统广播修改为对应的真系统广播。
6.一种应用程序对系统广播的响应测试装置,其特征在于,包括:
设置模块,用于设置待测应用的系统消息接收器可接收伪系统广播;
伪系统广播发出模块,用于发出伪系统广播;
触发接收模块,用于触发所述系统消息接收器接收所述伪系统广播;
修改模块,用于在所述系统消息接收器处理所述伪系统广播前,将所述系统消息接收器所处理的广播参数由伪系统广播修改为对应的真系统广播,以使系统消息接收器处理所述真系统广播;其中所述伪系统广播与所述真系统广播所广播的事件类型一致,但参数属性不一致。
7.根据权利要求6所述的应用程序对系统广播的响应测试装置,其特征在于,所述设置模块包括:
添加单元,用于为待测应用的系统消息接收器添加可接收伪系统广播的行为。
8.根据权利要求7所述的应用程序对系统广播的响应测试装置,其特征在于,所述添加单元包括:
第一添加子单元,用于对于静态注册系统消息的方式,对在系统清单中声明的待测应用的系统消息接收器追加可接收伪系统广播的行为;
或,第二添加子单元,用于对于动态注册系统消息的方式,过滤出待测应用的类文件的系统广播消息注册函数的调用点,在所述调用点为所述系统消息接收器增加所要接收的伪系统广播的事件类型。
9.根据权利要求6所述的应用程序对系统广播的响应测试装置,其特征在于,所述伪系统广播发出模块包括:
解析单元,用于解析系统广播配置文件,所述系统广播配置文件预置有需要激活的系统广播;
追加单元,用于在待测应用调用系统广播消息注册函数处,检测到存在有所述系统广播配置文件中需要激活的系统广播时,在系统广播消息注册函数的需要注册的系统广播类型中追加需要激活的系统广播所对应的伪系统广播;
发出单元,用于在系统广播配置文件中的系统广播消息被触发时,发出对应的伪系统广播。
10.根据权利要求6所述的应用程序对系统广播的响应测试装置,其特征在于,所述修改模块包括:
参数类型修改单元,用于在检测到系统消息接收器的处理函数被调用执行前,将所述处理函数所处理的行为参数类型从伪系统广播修改为对应的真系统广播。
CN201410053311.4A 2014-02-17 2014-02-17 应用程序对系统广播的响应测试方法及装置 Active CN104090836B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410053311.4A CN104090836B (zh) 2014-02-17 2014-02-17 应用程序对系统广播的响应测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410053311.4A CN104090836B (zh) 2014-02-17 2014-02-17 应用程序对系统广播的响应测试方法及装置

Publications (2)

Publication Number Publication Date
CN104090836A CN104090836A (zh) 2014-10-08
CN104090836B true CN104090836B (zh) 2016-04-13

Family

ID=51638554

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410053311.4A Active CN104090836B (zh) 2014-02-17 2014-02-17 应用程序对系统广播的响应测试方法及装置

Country Status (1)

Country Link
CN (1) CN104090836B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107861822B (zh) * 2017-10-30 2021-09-28 创新先进技术有限公司 模拟客户端内广播通知的方法及装置、设备
CN108509184B (zh) * 2018-03-28 2021-11-09 武汉斗鱼网络科技有限公司 消息分发方法、计算机可读存储介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999419A (zh) * 2011-09-13 2013-03-27 百度在线网络技术(北京)有限公司 一种Android测试事件记录回放方法及装置
CN103336742A (zh) * 2013-07-18 2013-10-02 北京航空航天大学 一种基于Android的自动化软件黑盒测试系统及方法
CN103353858A (zh) * 2013-06-06 2013-10-16 百度在线网络技术(北京)有限公司 一种基于动作触摸模拟的自动化测试方法和装置
CN103577313A (zh) * 2012-07-27 2014-02-12 腾讯科技(深圳)有限公司 一种移动终端应用程序测试方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999419A (zh) * 2011-09-13 2013-03-27 百度在线网络技术(北京)有限公司 一种Android测试事件记录回放方法及装置
CN103577313A (zh) * 2012-07-27 2014-02-12 腾讯科技(深圳)有限公司 一种移动终端应用程序测试方法及装置
CN103353858A (zh) * 2013-06-06 2013-10-16 百度在线网络技术(北京)有限公司 一种基于动作触摸模拟的自动化测试方法和装置
CN103336742A (zh) * 2013-07-18 2013-10-02 北京航空航天大学 一种基于Android的自动化软件黑盒测试系统及方法

Also Published As

Publication number Publication date
CN104090836A (zh) 2014-10-08

Similar Documents

Publication Publication Date Title
CN103207969B (zh) 检测Android恶意软件的装置以及方法
CN108268024B (zh) 车辆诊断方法、装置、终端及计算机可读存储介质
CN104156252A (zh) 一种应用软件安装方法及装置
CN102810143A (zh) 基于Android平台手机应用程序的安全检测系统及方法
CN102340398A (zh) 安全策略设置、确定方法、应用程序执行操作方法及装置
CN104679654A (zh) 测试应用程序的方法、设备及系统
CN101859275A (zh) 一种监控应用程序的方法、系统及移动终端
CN104361285A (zh) 移动设备应用程序的安全检测方法及装置
CN109218407B (zh) 基于日志监控技术的代码管控方法及终端设备
CN104461683A (zh) 一种虚拟机非法配置的校验方法、装置及系统
CN104751054A (zh) 恶意程序的识别方法及装置、移动终端
CN104216748A (zh) 应用程序安装方法、装置及系统
CN104090836B (zh) 应用程序对系统广播的响应测试方法及装置
CN105718792A (zh) 一种基于沙箱的二维码检测方法及系统
CN103971056A (zh) 一种防止操作系统中应用程序被卸载的方法和装置
CN103065083A (zh) 一种智能移动终端的应用程序接口监控方法及系统
CN110287093A (zh) 移动终端、数据接口测试方法及存储介质
CN110418344A (zh) 一种设备身份标识生成的方法及装置
CN110780918B (zh) 中间件容器处理方法、装置、电子设备及存储介质
CN103873322A (zh) 一种信息处理方法及通信终端
CN105404574A (zh) 一种智能卡与移动终端一致性测试方法及装置
CN103002436B (zh) 使用安卓平台的终端设备升级方法和设备
CN105138419A (zh) 设定值恢复系统
CN203287900U (zh) 一种对移动终端进行安全检查的外置设备
CN103856537A (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
C14 Grant of patent or utility model
GR01 Patent grant