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

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

【技术领域】
[0001] 本发明涉及计算机【技术领域】,更具体地说,涉及一种应用程序对系统广播的响应 测试方法及装置。

【背景技术】
[0002] 目前电子设备所装载的智能操作系统主要包括:Andriod,I0S,Windows Phone等; 在这些装载有智能操作系统的电子设备中主要有两类广播事件:系统广播和应用自定义广 播;系统广播来自于电子设备的智能操作系统本身,如电子设备开机广播,网络切换广播, 电量变化广播;系统广播只能由智能操作系统发出,电子设备的应用程序是没有权限发出 的,否则在电子设备运行时,将出现权限安全异常等问题。此处所指的系统广播是系统的一 个事件。
[0003] 基于此,在对应用程序产品进行测试时,经常需要测试应用程序是否会对各类的 系统广播事件进行正确的响应处理,如应用程序是否会对电量变化广播进行正确的响应处 理,从而执行电量提示等操作。然而,系统广播的触发依赖于电子设备当前的物理状态的改 变,所以只能人为的去改变电子设备的物理状态,进而触发电子设备的操作系统发出系统 广播;比如要触发智能操作系统发出电量变化广播,则需要人为的去消耗电子设备的电量。
[0004] 然而,现有通过人为改变电子设备的物理状态,从而触发系统广播发出的方式,对 于电子设备的物理状态具有严格的要求,并无法在任意时刻随时触发系统广播的发出,这 使得应用程序产品对系统广播的响应处理的测试效率较低。


【发明内容】

[0005] 为解决上述技术问题,本发明提供一种应用程序对系统广播的响应测试方法及装 置,以解决现有技术无法在任意时刻随时触发系统广播发出,使得应用程序产品对系统广 播的响应处理的测试效率较低的问题。
[0006] 为实现上述目的,本发明提供如下技术方案:
[0007] -种应用程序对系统广播的响应测试方法,包括:
[0008] 设置待测应用的系统消息接收器可接收伪系统广播;
[0009] 发出伪系统广播;
[0010] 触发所述系统消息接收器接收所述伪系统广播;
[0011] 在所述系统消息接收器处理所述伪系统广播前,将所述系统消息接收器所处理的 广播参数由伪系统广播修改为对应的真系统广播,以使系统消息接收器处理所述真系统广 播。
[0012] 本发明实施例还提供一种应用程序对系统广播的响应测试装置,包括:
[0013] 设置模块,用于设置待测应用的系统消息接收器可接收伪系统广播;
[0014] 伪系统广播发出模块,用于发出伪系统广播;
[0015] 触发接收模块,用于触发所述系统消息接收器接收所述伪系统广播;
[0016] 修改模块,用于在所述系统消息接收器处理所述伪系统广播前,将所述系统消息 接收器所处理的广播参数由伪系统广播修改为对应的真系统广播,以使系统消息接收器处 理所述真系统广播。
[0017] 基于上述技术方案,本发明实施例通过设置待测应用的系统消息接收器可接收伪 系统广播,并在系统消息接收器接收到伪系统广播并进行处理前,将所处理的伪系统广播 修改为对应的真系统广播,从而对真系统广播进行处理;使得系统消息接收器可通过接收 伪系统广播,完成对真系统广播的响应,避免了现有技术需要电子设备的物理状态的改变 来实现真系统广播的发出,从而完成待测产品对真系统广播的响应处理的问题;本发明实 施例可在任意时刻随时的通过发出伪系统广播,来完成待测应用对对应真系统广播的响 应,极大的提升了应用程序产品对系统广播的响应处理的测试效率。

【专利附图】

【附图说明】
[0018] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。
[0019] 图1为本发明实施例提供的应用程序对系统广播的响应测试方法的流程图;
[0020] 图2为本发明实施例提供的插桩编译示意图;
[0021] 图3为本发明实施例提供的应用程序对系统广播的响应测试装置的结构框图;
[0022] 图4为本发明实施例提供的设置模块的结构框图;
[0023] 图5为本发明实施例提供的添加单元的结构框图;
[0024] 图6为本发明实施例提供的添加单元的另一结构框图;
[0025] 图7为本发明实施例提供的伪系统广播发出模块的结构框图;
[0026] 图8为本发明实施例提供的修改模块的结构框图;
[0027] 图9为本发明实施例提供的电子设备的硬件结构框图。

【具体实施方式】
[0028] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0029] 图1为本发明实施例提供的应用程序对系统广播的响应测试方法的流程图,该方 法可应用于装载有智能操作系统的电子设备,该电子设备可以是智能终端(如智能手机,平 板电脑等),也可以是PC (个人计算机),参照图1,该方法可以包括:
[0030] 步骤S100、设置待测应用的系统消息接收器可接收伪系统广播;
[0031] 可选的,可为待测应用的系统消息接收器添加可接收伪系统广播的action (行 为),从而达到设置待测应用的系统消息接收器可接收伪系统广播的目的。
[0032] 步骤S110、发出伪系统广播;
[0033] 步骤S120、触发所述系统消息接收器接收所述伪系统广播;
[0034] 步骤S130、在所述系统消息接收器处理所述伪系统广播前,将所述系统消息接收 器所处理的广播参数由伪系统广播修改为对应的真系统广播,以使系统消息接收器处理所 述真系统广播。
[0035] 可选的,本发明实施例可通过监测系统消息接收器的处理函数,在检测到处理函 数被调用执行前,可将所述处理函数所处理的action参数类型从伪系统广播修改为对应 的真系统广播,以使系统消息接收器处理所述真系统广播。
[0036] 可选的,伪系统广播可以是与智能操作系统所发出的系统广播所要广播的事件类 型一致,但参数属性不一致的广播;真系统广播可以是与智能操作系统所发出的系统广播 一致的广播,伪系统广播与其对应的真系统广播所要广播的事件类型一致。以安卓操作 系统的系统广播所要广播的事件类型为网络连接改变为例,真系统广播与安卓操作系统 所发出的系统广播一致,均可为android, net. conn. CONNECTIVITY_CHANGE,伪系统广播可 以是与真系统广播所广播的事件类型一致,但参数属性不一致,如伪系统广播可以设置为 android, net. conn. CONNECTIVITY_CHANGE_FAKE。
[0037] 本发明实施例通过设置待测应用的系统消息接收器可接收伪系统广播,并在系统 消息接收器接收到伪系统广播并进行处理前,将所处理的伪系统广播修改为对应的真系统 广播,从而对真系统广播进行处理;使得系统消息接收器可通过接收伪系统广播,完成对真 系统广播的响应,避免了现有技术需要电子设备的物理状态的改变来实现真系统广播的发 出,从而完成待测产品对真系统广播的响应处理的问题;本发明实施例可在任意时刻随时 的通过发出伪系统广播,来完成待测应用对对应真系统广播的响应,极大的提升了应用程 序产品对系统广播的响应处理的测试效率。
[0038] 目前,智能操作系统中对系统消息的注册方式主要有两种:静态注册和动态注册; 本发明实施例可支持上述任一种的系统消息注册方式。
[0039] 可选的,对于静态注册系统消息的方式,本发明实施例实现为待测应用的系统消 息接收器添加可接收伪系统广播的action的方式可以是:对在系统清单中声明的待测应 用的系统消息接收器追加可接收伪系统广播的act ion。以Andr〇 i d操作系统中的网络连接 改变广播(android, net. conn. C0NNECTIVITY_CHANGE)为例,网络连接改变广播的伪系统广 播可以为android, net. conn. CONNECTIVITY_CHANGE_FAKE,本发明实施例可对在安卓系统 清单(AndroidManifest. xml)中所声明的待测应用的系统消息接收器(receiver)追加接 收 android, net. conn. CONNECTIVITY_CHANGE_FAKE 的 action。
[0040] 可选的,对于动态注册系统消息的方式,本发明实施例为待测应用的系统消息接 收器添加可接收伪系统广播的action的方式可以是:过滤出待测应用的class (类)文件 的系统广播消息注册函数的调用点,在所述调用点为所述系统消息接收器增加所要接收的 伪系统广播的事件类型。以Android操作系统中的网络连接改变广播为例,本发明实施例 可过滤出系统广播消息注册函数android, content. Context. registerReceiverO的调用 点,给C0NNECTIVITY_ACTI0N消息的接收者增加一个模拟消息FAKE_INTENT_NETTYPE。
[0041] 可选的,步骤S110发出伪系统广播的方式可以是:本发明实施例可预置系统广播 配置文件,需要激活的系统广播可预置在系统广播配置文件中,可通过解析系统广播配置 文件,在待测应用调用系统广播消息注册函数处,判断是否有在该系统广播配置文件中需 要激活的系统广播,若有,则修改系统广播消息注册函数的需要注册的系统广播类型,在所 述需要注册的系统广播类型中追加需要激活的系统广播所对应的伪系统广播;当系统广播 配置文件中的系统广播消息被触发时,可发出对应的伪系统广播,从而实现伪系统广播的 发出。以android操作系统的网络连接改变为例,本发明实施例可解析系统广播配置文件, 在被测应用调用registerReceiverO处进行判断,是否有在配置文件中需要激活的系统 消息,如果有,则修改registerRecevierO的intentFilter参数,追加一个假系统消息, 如:android, net. conn. CONNECTIVITY_CHANGE_FAKE ;当系统广播配置文件中的 android-net. conn. CONNECTIVITY_CHANGE 被触 发时, 可发出 android, net. conn. CONNECTIVITY. CHANGE_FAKE的伪系统广播。
[0042]由于前面已设置接收系统广播的系统消息接收器可接收伪系统广播,因此系统消 息接收器既可接收真系统广播也可接收伪系统广播。由于系统广播的发出具有严格的电子 设备的物理状态要求,因此本发明实施例通过发出伪系统广播来替代真正的系统广播,在 系统消息接收器接收到伪系统广播,通过处理函数对伪系统广播处理前,可通过修改处理 函数的action参数类型,将其由伪系统广播修改为对应的真系统广播,从而使得处理函数 对真系统广播进行处理,从而达成待测应用对系统广播的响应处理测试的目的。
[0043] 为便于理解本发明实施例提供的应用程序对系统广播的响应测试方法,下面以 真系统广播为android的网络连接改变广播(android, net. conn. CONNECTIVITY_CHANGE) 为例对本发明进行详细描述,对应的,伪系统广播为android, net. conn. CONNECTIVITY. CHANGE_FAKE〇
[0044] 对于静态注册的方式,本发明实施例可对AndroidManifest. xml中声明的 待测应用的系统消息接收器,追加一个自定义的action,如对于android, net. conn. C0NNECTIVITY_CHANGE 事件类型,可追加自定义的 android, net. conn. CONNECTIVITY. CHANGE_FAKE事件类型:从而使得待测应用的系统消息接收器添加可接收android, net. conn. CONNECTIVITY_CHANGE_FAKE 的 action ;
[0045] 对于动态注册的方式,本发明实施例可利用Α0Ρ技术(面向切面编程技术, 如AspectJ工具)对被测应用访问系统广播消息注册函数android, content. Context. registerReceiverO函数的代码进行截获,对registerRecevier函数调用点增加插桩代 码,使得接收C0NNECTIVITY_ACTI0N消息的系统消息接收器增加一个伪系统消息FAKE_ INTENT_NETTYPE。从而使得待测应用的系统消息接收器添加可接收android, net. conn. CONNECTIVITY_CHANGE_FAKE 的 action。
[0046] 无论对于上述哪种方式,本发明实施例可解析系统广播配置文件,在被测应用 调用registerReceiverO处进行判断,是否有在配置文件中需要激活的系统消息,如果 有,则修改registerRecevier ()的intentFilter参数,追加一个假系统消息,android, net. conn. CONNECTIVITY_CHANGE_FAKE ;当系统广播配置文件中的系统广播 android, net. conn. C0NNECTIVITY_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进行处理,达成待测应用对真系统广播的响应测试的目的。
[0047] 本发明实施例可通过发出伪系统广播,使得系统消息接收器不必要接收真系统广 播即可完成对真系统广播的响应测试,极大的提升了应用程序产品对系统广播的响应处理 的测试效率。
[0048] 可选的,本发明实施例可同时支持静态注册和动态注册的系统消息注册方式。以 Android操作系统为例,本发明在实现上主要利用了插桩编译器和Android编译器,其中用 到的文件可以有系统广播插桩脚本、系统广播通知插桩脚本,被测应用的java class文件, 修改后的AndroidManifest. xml。结合图2所示插桩编译示意图:
[0049] 其中,系统广播插桩脚本,主要利用Α0Ρ技术对待测应用进行插桩,主要是过滤出 对系统广播消息注册函数的调用点,然后插入测试代码,完成系统消息接收器可接收伪系 统广播的设置。
[0050] 系统广播通知插桩脚本,主要用于发送伪系统广播消息,从而绕过直接发送系 统广播的权限不足的问题(Permission Denial),同时对系统消息接收器的处理函数 (onRecevie函数)进行截获、在该函数执行前修改参数和真系统广播一致的参数值,从而达 到欺骗系统消息接收器所接收的伪系统广播即为真系统广播的目的。
[0051] 其中,插桩编译器可以使用已有的Α0Ρ技术工具,如AspectJ的编译器ajc,对系统 消息插桩脚本进行编译以及对被测应用的java class文件进行插桩,生成插桩后的class 文件。然后交给android编译器生成插桩后的被测Android apk (安装包)。
[0052] Android编译器结合插桩后的class文件和修改后的AndroidManifest. xml,生成 插桩后的被测Android apk。
[0053] 系统广播桩模块运行在被测Android apk内,以网络连接改变广播为例,系统广播 桩模块主要负责:
[0054] (a)解析系统广播配置文件,在被测应用调用registerReceiver〇处进行判 断,是否有在配置文件中需要激活的系统消息,如果有,则修改registerRecevier〇的 intentFilter 参数,追加一个假系统消息,如:android, net. conn. C0NNECTIVITY_CHANGE_ FAKE。
[0055] (b)触发模拟的系统广播:当测试人员触发模拟的系统广播时,如通过某测试 UI界面激活某个定义在系统广播配置文件中的模拟系统消息,如:android, net. conn. C0NNECTIVITY_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. C0NNECTIVITY_CHANGE,以及设定一定的extra参数,从而达到和处理android发 出的系统广播相同的效果。
[0056] 下面对本发明实施例提供的应用程序对系统广播的响应测试装置进行描述,下文 描述的应用程序对系统广播的响应测试装置与上文描述的应用程序对系统广播的响应测 试方法可相互对应参照。
[0057] 图3为本发明实施例提供的应用程序对系统广播的响应测试装置的结构框图,参 照图3,该装置可以包括:
[0058] 设置模块100,用于设置待测应用的系统消息接收器可接收伪系统广播;
[0059] 伪系统广播发出模块200,用于发出伪系统广播;
[0060] 触发接收模块300,用于触发所述系统消息接收器接收所述伪系统广播;
[0061] 修改模块400,用于在所述系统消息接收器处理所述伪系统广播前,将所述系统消 息接收器所处理的广播参数由伪系统广播修改为对应的真系统广播,以使系统消息接收器 处理所述真系统广播。
[0062] 可选的,图4示出了设置模块100的一种可选结构,参照图4,设置模块100可以包 括:
[0063] 添加单元110,用于为待测应用的系统消息接收器添加可接收伪系统广播的 action。
[0064] 可选的,图5示出了添加单元110的一种可选结构,参照图5,添加单元110可以包 括:
[0065] 第一添加子单元111,用于对于静态注册系统消息的方式,对在系统清单中声明的 待测应用的系统消息接收器追加可接收伪系统广播的action。
[0066] 可选的,图6示出了添加单元110的另一种可选结构,参照图6,添加单元110可以 包括:
[0067] 第二添加子单元112,用于对于动态注册系统消息的方式,过滤出待测应用的 class文件的系统广播消息注册函数的调用点,在所述调用点为所述系统消息接收器增加 所要接收的伪系统广播的事件类型。
[0068] 可选的,图5所示添加单元110中也可包括图6所示第二添加子单元112。
[0069] 可选的,图7示出了伪系统广播发出模块200的一种可选结构,参照图7,伪系统广 播发出模块200可以包括:
[0070] 解析单元210,用于解析系统广播配置文件,所述系统广播配置文件预置有需要激 活的系统广播;
[0071] 追加单元220,用于在待测应用调用系统广播消息注册函数处,检测到存在有所述 系统广播配置文件中需要激活的系统广播时,在系统广播消息注册函数的需要注册的系统 广播类型中追加需要激活的系统广播所对应的伪系统广播;
[0072] 发出单元230,用于在系统广播配置文件中的系统广播消息被触发时,发出对应的 伪系统广播。
[0073] 可选的,图8示出了修改模块400的一种可选结构,参照图8,修改模块400可以包 括:
[0074] 参数类型修改单元410,用于在检测到系统消息接收器的处理函数被调用执行前, 将所述处理函数所处理的action参数类型从伪系统广播修改为对应的真系统广播。
[0075] 本发明实施例通过设置待测应用的系统消息接收器可接收伪系统广播,并在系统 消息接收器接收到伪系统广播并进行处理前,将所处理的伪系统广播修改为对应的真系统 广播,从而对真系统广播进行处理;本发明实施例可在任意时刻随时的通过发出伪系统广 播,来完成待测应用对对应真系统广播的响应,极大的提升了应用程序产品对系统广播的 响应处理的测试效率。
[0076] 本发明实施例还提供一种电子设备,该电子设备可以包括上述所述的应用程序对 系统广播的响应测试装置,应用程序对系统广播的响应测试装置可参照上文对应部分描 述,此处不再赘述。
[0077] 图9为本发明实施例提供的电子设备的硬件结构框图,参照图9,该电子设备可以 包括:处理器1,通信接口 2,存储器3和通信总线4 ;
[0078] 其中处理器1、通信接口 2、存储器3通过通信总线4完成相互间的通信;
[0079] 可选的,通信接口 2可以为通信模块的接口,如GSM模块的接口;
[0080] 处理器1,用于执行程序;
[0081] 存储器3,用于存放程序;
[0082] 程序可以包括程序代码,所述程序代码包括计算机操作指令。
[0083] 处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC (Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电 路。
[0084] 存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0085] 其中,程序可具体用于:
[0086] 设置待测应用的系统消息接收器可接收伪系统广播;
[0087] 发出伪系统广播;
[0088] 触发所述系统消息接收器接收所述伪系统广播;
[0089] 在所述系统消息接收器处理所述伪系统广播前,将所述系统消息接收器所处理的 广播参数由伪系统广播修改为对应的真系统广播,以使系统消息接收器处理所述真系统广 播。
[0090] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他 实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置 而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说 明即可。
[0091] 专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元 及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和 软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些 功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业 技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应 认为超出本发明的范围。
[0092] 结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执 行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存 储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术 领域内所公知的任意其它形式的存储介质中。
[0093] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。 对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的 一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明 将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一 致的最宽的范围。
【权利要求】
1. 一种应用程序对系统广播的响应测试方法,其特征在于,包括: 设置待测应用的系统消息接收器可接收伪系统广播; 发出伪系统广播; 触发所述系统消息接收器接收所述伪系统广播; 在所述系统消息接收器处理所述伪系统广播前,将所述系统消息接收器所处理的广播 参数由伪系统广播修改为对应的真系统广播,以使系统消息接收器处理所述真系统广播。
2. 根据权利要求1所述的应用程序对系统广播的响应测试方法,其特征在于,所述设 置待测应用的系统消息接收器可接收伪系统广播包括: 为待测应用的系统消息接收器添加可接收伪系统广播的行为。
3. 根据权利要求2所述的应用程序对系统广播的响应测试方法,其特征在于,所述为 待测应用的系统消息接收器添加可接收伪系统广播的行为包括: 对于静态注册系统消息的方式,对在系统清单中声明的待测应用的系统消息接收器追 加可接收伪系统广播的行为; 或,对于动态注册系统消息的方式,过滤出待测应用的类文件的系统广播消息注册函 数的调用点,在所述调用点为所述系统消息接收器增加所要接收的伪系统广播的事件类 型。
4. 根据权利要求1所述的应用程序对系统广播的响应测试方法,其特征在于,所述发 出伪系统广播包括: 解析系统广播配置文件,所述系统广播配置文件预置有需要激活的系统广播; 在待测应用调用系统广播消息注册函数处,检测到存在有所述系统广播配置文件中需 要激活的系统广播时,在系统广播消息注册函数的需要注册的系统广播类型中追加需要激 活的系统广播所对应的伪系统广播; 在系统广播配置文件中的系统广播消息被触发时,发出对应的伪系统广播。
5. 根据权利要求1所述的应用程序对系统广播的响应测试方法,其特征在于,所述将 所述系统消息接收器所处理的广播参数由伪系统广播修改为对应的真系统广播包括: 在检测到系统消息接收器的处理函数被调用执行前,将所述处理函数所处理的行为参 数类型从伪系统广播修改为对应的真系统广播。
6. -种应用程序对系统广播的响应测试装置,其特征在于,包括: 设置模块,用于设置待测应用的系统消息接收器可接收伪系统广播; 伪系统广播发出模块,用于发出伪系统广播; 触发接收模块,用于触发所述系统消息接收器接收所述伪系统广播; 修改模块,用于在所述系统消息接收器处理所述伪系统广播前,将所述系统消息接收 器所处理的广播参数由伪系统广播修改为对应的真系统广播,以使系统消息接收器处理所 述真系统广播。
7. 根据权利要求6所述的应用程序对系统广播的响应测试装置,其特征在于,所述设 置模块包括: 添加单元,用于为待测应用的系统消息接收器添加可接收伪系统广播的行为。
8. 根据权利要求7所述的应用程序对系统广播的响应测试装置,其特征在于,所述添 加单元包括: 第一添加子单元,用于对于静态注册系统消息的方式,对在系统清单中声明的待测应 用的系统消息接收器追加可接收伪系统广播的行为; 或,第二添加子单元,用于对于动态注册系统消息的方式,过滤出待测应用的类文件的 系统广播消息注册函数的调用点,在所述调用点为所述系统消息接收器增加所要接收的伪 系统广播的事件类型。
9. 根据权利要求6所述的应用程序对系统广播的响应测试装置,其特征在于,所述伪 系统广播发出模块包括: 解析单元,用于解析系统广播配置文件,所述系统广播配置文件预置有需要激活的系 统广播; 追加单元,用于在待测应用调用系统广播消息注册函数处,检测到存在有所述系统广 播配置文件中需要激活的系统广播时,在系统广播消息注册函数的需要注册的系统广播类 型中追加需要激活的系统广播所对应的伪系统广播; 发出单元,用于在系统广播配置文件中的系统广播消息被触发时,发出对应的伪系统 广播。
10. 根据权利要求6所述的应用程序对系统广播的响应测试装置,其特征在于,所述修 改模块包括: 参数类型修改单元,用于在检测到系统消息接收器的处理函数被调用执行前,将所述 处理函数所处理的行为参数类型从伪系统广播修改为对应的真系统广播。
【文档编号】G06F11/36GK104090836SQ201410053311
【公开日】2014年10月8日 申请日期:2014年2月17日 优先权日:2014年2月17日
【发明者】鲁四喜 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1