欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

應(yīng)用程序?qū)ο到y(tǒng)廣播的響應(yīng)測試方法及裝置制造方法

文檔序號(hào):6537869閱讀:178來源:國知局
應(yīng)用程序?qū)ο到y(tǒng)廣播的響應(yīng)測試方法及裝置制造方法
【專利摘要】一種應(yīng)用程序?qū)ο到y(tǒng)廣播的響應(yīng)測試方法及裝置,其中方法包括:設(shè)置待測應(yīng)用的系統(tǒng)消息接收器可接收偽系統(tǒng)廣播;發(fā)出偽系統(tǒng)廣播;觸發(fā)所述系統(tǒng)消息接收器接收所述偽系統(tǒng)廣播;在所述系統(tǒng)消息接收器處理所述偽系統(tǒng)廣播前,將所述系統(tǒng)消息接收器所處理的廣播參數(shù)由偽系統(tǒng)廣播修改為對應(yīng)的真系統(tǒng)廣播,以使系統(tǒng)消息接收器處理所述真系統(tǒng)廣播。本發(fā)明實(shí)施例可在任意時(shí)刻隨時(shí)的通過發(fā)出偽系統(tǒng)廣播,來完成待測應(yīng)用對對應(yīng)真系統(tǒng)廣播的響應(yīng),極大的提升了應(yīng)用程序產(chǎn)品對系統(tǒng)廣播的響應(yīng)處理的測試效率。
【專利說明】應(yīng)用程序?qū)ο到y(tǒng)廣播的響應(yīng)測試方法及裝置

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,更具體地說,涉及一種應(yīng)用程序?qū)ο到y(tǒng)廣播的響應(yīng) 測試方法及裝置。

【背景技術(shù)】
[0002] 目前電子設(shè)備所裝載的智能操作系統(tǒng)主要包括:Andriod,I0S,Windows Phone等; 在這些裝載有智能操作系統(tǒng)的電子設(shè)備中主要有兩類廣播事件:系統(tǒng)廣播和應(yīng)用自定義廣 播;系統(tǒng)廣播來自于電子設(shè)備的智能操作系統(tǒng)本身,如電子設(shè)備開機(jī)廣播,網(wǎng)絡(luò)切換廣播, 電量變化廣播;系統(tǒng)廣播只能由智能操作系統(tǒng)發(fā)出,電子設(shè)備的應(yīng)用程序是沒有權(quán)限發(fā)出 的,否則在電子設(shè)備運(yùn)行時(shí),將出現(xiàn)權(quán)限安全異常等問題。此處所指的系統(tǒng)廣播是系統(tǒng)的一 個(gè)事件。
[0003] 基于此,在對應(yīng)用程序產(chǎn)品進(jìn)行測試時(shí),經(jīng)常需要測試應(yīng)用程序是否會(huì)對各類的 系統(tǒng)廣播事件進(jìn)行正確的響應(yīng)處理,如應(yīng)用程序是否會(huì)對電量變化廣播進(jìn)行正確的響應(yīng)處 理,從而執(zhí)行電量提示等操作。然而,系統(tǒng)廣播的觸發(fā)依賴于電子設(shè)備當(dāng)前的物理狀態(tài)的改 變,所以只能人為的去改變電子設(shè)備的物理狀態(tài),進(jìn)而觸發(fā)電子設(shè)備的操作系統(tǒng)發(fā)出系統(tǒng) 廣播;比如要觸發(fā)智能操作系統(tǒng)發(fā)出電量變化廣播,則需要人為的去消耗電子設(shè)備的電量。
[0004] 然而,現(xiàn)有通過人為改變電子設(shè)備的物理狀態(tài),從而觸發(fā)系統(tǒng)廣播發(fā)出的方式,對 于電子設(shè)備的物理狀態(tài)具有嚴(yán)格的要求,并無法在任意時(shí)刻隨時(shí)觸發(fā)系統(tǒng)廣播的發(fā)出,這 使得應(yīng)用程序產(chǎn)品對系統(tǒng)廣播的響應(yīng)處理的測試效率較低。


【發(fā)明內(nèi)容】

[0005] 為解決上述技術(shù)問題,本發(fā)明提供一種應(yīng)用程序?qū)ο到y(tǒng)廣播的響應(yīng)測試方法及裝 置,以解決現(xiàn)有技術(shù)無法在任意時(shí)刻隨時(shí)觸發(fā)系統(tǒng)廣播發(fā)出,使得應(yīng)用程序產(chǎn)品對系統(tǒng)廣 播的響應(yīng)處理的測試效率較低的問題。
[0006] 為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
[0007] -種應(yīng)用程序?qū)ο到y(tǒng)廣播的響應(yīng)測試方法,包括:
[0008] 設(shè)置待測應(yīng)用的系統(tǒng)消息接收器可接收偽系統(tǒng)廣播;
[0009] 發(fā)出偽系統(tǒng)廣播;
[0010] 觸發(fā)所述系統(tǒng)消息接收器接收所述偽系統(tǒng)廣播;
[0011] 在所述系統(tǒng)消息接收器處理所述偽系統(tǒng)廣播前,將所述系統(tǒng)消息接收器所處理的 廣播參數(shù)由偽系統(tǒng)廣播修改為對應(yīng)的真系統(tǒng)廣播,以使系統(tǒng)消息接收器處理所述真系統(tǒng)廣 播。
[0012] 本發(fā)明實(shí)施例還提供一種應(yīng)用程序?qū)ο到y(tǒng)廣播的響應(yīng)測試裝置,包括:
[0013] 設(shè)置模塊,用于設(shè)置待測應(yīng)用的系統(tǒng)消息接收器可接收偽系統(tǒng)廣播;
[0014] 偽系統(tǒng)廣播發(fā)出模塊,用于發(fā)出偽系統(tǒng)廣播;
[0015] 觸發(fā)接收模塊,用于觸發(fā)所述系統(tǒng)消息接收器接收所述偽系統(tǒng)廣播;
[0016] 修改模塊,用于在所述系統(tǒng)消息接收器處理所述偽系統(tǒng)廣播前,將所述系統(tǒng)消息 接收器所處理的廣播參數(shù)由偽系統(tǒng)廣播修改為對應(yīng)的真系統(tǒng)廣播,以使系統(tǒng)消息接收器處 理所述真系統(tǒng)廣播。
[0017] 基于上述技術(shù)方案,本發(fā)明實(shí)施例通過設(shè)置待測應(yīng)用的系統(tǒng)消息接收器可接收偽 系統(tǒng)廣播,并在系統(tǒng)消息接收器接收到偽系統(tǒng)廣播并進(jìn)行處理前,將所處理的偽系統(tǒng)廣播 修改為對應(yīng)的真系統(tǒng)廣播,從而對真系統(tǒng)廣播進(jìn)行處理;使得系統(tǒng)消息接收器可通過接收 偽系統(tǒng)廣播,完成對真系統(tǒng)廣播的響應(yīng),避免了現(xiàn)有技術(shù)需要電子設(shè)備的物理狀態(tài)的改變 來實(shí)現(xiàn)真系統(tǒng)廣播的發(fā)出,從而完成待測產(chǎn)品對真系統(tǒng)廣播的響應(yīng)處理的問題;本發(fā)明實(shí) 施例可在任意時(shí)刻隨時(shí)的通過發(fā)出偽系統(tǒng)廣播,來完成待測應(yīng)用對對應(yīng)真系統(tǒng)廣播的響 應(yīng),極大的提升了應(yīng)用程序產(chǎn)品對系統(tǒng)廣播的響應(yīng)處理的測試效率。

【專利附圖】

【附圖說明】
[0018] 為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。
[0019] 圖1為本發(fā)明實(shí)施例提供的應(yīng)用程序?qū)ο到y(tǒng)廣播的響應(yīng)測試方法的流程圖;
[0020] 圖2為本發(fā)明實(shí)施例提供的插樁編譯示意圖;
[0021] 圖3為本發(fā)明實(shí)施例提供的應(yīng)用程序?qū)ο到y(tǒng)廣播的響應(yīng)測試裝置的結(jié)構(gòu)框圖;
[0022] 圖4為本發(fā)明實(shí)施例提供的設(shè)置模塊的結(jié)構(gòu)框圖;
[0023] 圖5為本發(fā)明實(shí)施例提供的添加單元的結(jié)構(gòu)框圖;
[0024] 圖6為本發(fā)明實(shí)施例提供的添加單元的另一結(jié)構(gòu)框圖;
[0025] 圖7為本發(fā)明實(shí)施例提供的偽系統(tǒng)廣播發(fā)出模塊的結(jié)構(gòu)框圖;
[0026] 圖8為本發(fā)明實(shí)施例提供的修改模塊的結(jié)構(gòu)框圖;
[0027] 圖9為本發(fā)明實(shí)施例提供的電子設(shè)備的硬件結(jié)構(gòu)框圖。

【具體實(shí)施方式】
[0028] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于 本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0029] 圖1為本發(fā)明實(shí)施例提供的應(yīng)用程序?qū)ο到y(tǒng)廣播的響應(yīng)測試方法的流程圖,該方 法可應(yīng)用于裝載有智能操作系統(tǒng)的電子設(shè)備,該電子設(shè)備可以是智能終端(如智能手機(jī),平 板電腦等),也可以是PC (個(gè)人計(jì)算機(jī)),參照圖1,該方法可以包括:
[0030] 步驟S100、設(shè)置待測應(yīng)用的系統(tǒng)消息接收器可接收偽系統(tǒng)廣播;
[0031] 可選的,可為待測應(yīng)用的系統(tǒng)消息接收器添加可接收偽系統(tǒng)廣播的action (行 為),從而達(dá)到設(shè)置待測應(yīng)用的系統(tǒng)消息接收器可接收偽系統(tǒng)廣播的目的。
[0032] 步驟S110、發(fā)出偽系統(tǒng)廣播;
[0033] 步驟S120、觸發(fā)所述系統(tǒng)消息接收器接收所述偽系統(tǒng)廣播;
[0034] 步驟S130、在所述系統(tǒng)消息接收器處理所述偽系統(tǒng)廣播前,將所述系統(tǒng)消息接收 器所處理的廣播參數(shù)由偽系統(tǒng)廣播修改為對應(yīng)的真系統(tǒng)廣播,以使系統(tǒng)消息接收器處理所 述真系統(tǒng)廣播。
[0035] 可選的,本發(fā)明實(shí)施例可通過監(jiān)測系統(tǒng)消息接收器的處理函數(shù),在檢測到處理函 數(shù)被調(diào)用執(zhí)行前,可將所述處理函數(shù)所處理的action參數(shù)類型從偽系統(tǒng)廣播修改為對應(yīng) 的真系統(tǒng)廣播,以使系統(tǒng)消息接收器處理所述真系統(tǒng)廣播。
[0036] 可選的,偽系統(tǒng)廣播可以是與智能操作系統(tǒng)所發(fā)出的系統(tǒng)廣播所要廣播的事件類 型一致,但參數(shù)屬性不一致的廣播;真系統(tǒng)廣播可以是與智能操作系統(tǒng)所發(fā)出的系統(tǒng)廣播 一致的廣播,偽系統(tǒng)廣播與其對應(yīng)的真系統(tǒng)廣播所要廣播的事件類型一致。以安卓操作 系統(tǒng)的系統(tǒng)廣播所要廣播的事件類型為網(wǎng)絡(luò)連接改變?yōu)槔?,真系統(tǒng)廣播與安卓操作系統(tǒng) 所發(fā)出的系統(tǒng)廣播一致,均可為android, net. conn. CONNECTIVITY_CHANGE,偽系統(tǒng)廣播可 以是與真系統(tǒng)廣播所廣播的事件類型一致,但參數(shù)屬性不一致,如偽系統(tǒng)廣播可以設(shè)置為 android, net. conn. CONNECTIVITY_CHANGE_FAKE。
[0037] 本發(fā)明實(shí)施例通過設(shè)置待測應(yīng)用的系統(tǒng)消息接收器可接收偽系統(tǒng)廣播,并在系統(tǒng) 消息接收器接收到偽系統(tǒng)廣播并進(jìn)行處理前,將所處理的偽系統(tǒng)廣播修改為對應(yīng)的真系統(tǒng) 廣播,從而對真系統(tǒng)廣播進(jìn)行處理;使得系統(tǒng)消息接收器可通過接收偽系統(tǒng)廣播,完成對真 系統(tǒng)廣播的響應(yīng),避免了現(xiàn)有技術(shù)需要電子設(shè)備的物理狀態(tài)的改變來實(shí)現(xiàn)真系統(tǒng)廣播的發(fā) 出,從而完成待測產(chǎn)品對真系統(tǒng)廣播的響應(yīng)處理的問題;本發(fā)明實(shí)施例可在任意時(shí)刻隨時(shí) 的通過發(fā)出偽系統(tǒng)廣播,來完成待測應(yīng)用對對應(yīng)真系統(tǒng)廣播的響應(yīng),極大的提升了應(yīng)用程 序產(chǎn)品對系統(tǒng)廣播的響應(yīng)處理的測試效率。
[0038] 目前,智能操作系統(tǒng)中對系統(tǒng)消息的注冊方式主要有兩種:靜態(tài)注冊和動(dòng)態(tài)注冊; 本發(fā)明實(shí)施例可支持上述任一種的系統(tǒng)消息注冊方式。
[0039] 可選的,對于靜態(tài)注冊系統(tǒng)消息的方式,本發(fā)明實(shí)施例實(shí)現(xiàn)為待測應(yīng)用的系統(tǒng)消 息接收器添加可接收偽系統(tǒng)廣播的action的方式可以是:對在系統(tǒng)清單中聲明的待測應(yīng) 用的系統(tǒng)消息接收器追加可接收偽系統(tǒng)廣播的act ion。以Andr〇 i d操作系統(tǒng)中的網(wǎng)絡(luò)連接 改變廣播(android, net. conn. C0NNECTIVITY_CHANGE)為例,網(wǎng)絡(luò)連接改變廣播的偽系統(tǒng)廣 播可以為android, net. conn. CONNECTIVITY_CHANGE_FAKE,本發(fā)明實(shí)施例可對在安卓系統(tǒng) 清單(AndroidManifest. xml)中所聲明的待測應(yīng)用的系統(tǒng)消息接收器(receiver)追加接 收 android, net. conn. CONNECTIVITY_CHANGE_FAKE 的 action。
[0040] 可選的,對于動(dòng)態(tài)注冊系統(tǒng)消息的方式,本發(fā)明實(shí)施例為待測應(yīng)用的系統(tǒng)消息接 收器添加可接收偽系統(tǒng)廣播的action的方式可以是:過濾出待測應(yīng)用的class (類)文件 的系統(tǒng)廣播消息注冊函數(shù)的調(diào)用點(diǎn),在所述調(diào)用點(diǎn)為所述系統(tǒng)消息接收器增加所要接收的 偽系統(tǒng)廣播的事件類型。以Android操作系統(tǒng)中的網(wǎng)絡(luò)連接改變廣播為例,本發(fā)明實(shí)施例 可過濾出系統(tǒng)廣播消息注冊函數(shù)android, content. Context. registerReceiverO的調(diào)用 點(diǎn),給C0NNECTIVITY_ACTI0N消息的接收者增加一個(gè)模擬消息FAKE_INTENT_NETTYPE。
[0041] 可選的,步驟S110發(fā)出偽系統(tǒng)廣播的方式可以是:本發(fā)明實(shí)施例可預(yù)置系統(tǒng)廣播 配置文件,需要激活的系統(tǒng)廣播可預(yù)置在系統(tǒng)廣播配置文件中,可通過解析系統(tǒng)廣播配置 文件,在待測應(yīng)用調(diào)用系統(tǒng)廣播消息注冊函數(shù)處,判斷是否有在該系統(tǒng)廣播配置文件中需 要激活的系統(tǒng)廣播,若有,則修改系統(tǒng)廣播消息注冊函數(shù)的需要注冊的系統(tǒng)廣播類型,在所 述需要注冊的系統(tǒng)廣播類型中追加需要激活的系統(tǒng)廣播所對應(yīng)的偽系統(tǒng)廣播;當(dāng)系統(tǒng)廣播 配置文件中的系統(tǒng)廣播消息被觸發(fā)時(shí),可發(fā)出對應(yīng)的偽系統(tǒng)廣播,從而實(shí)現(xiàn)偽系統(tǒng)廣播的 發(fā)出。以android操作系統(tǒng)的網(wǎng)絡(luò)連接改變?yōu)槔?,本發(fā)明實(shí)施例可解析系統(tǒng)廣播配置文件, 在被測應(yīng)用調(diào)用registerReceiverO處進(jìn)行判斷,是否有在配置文件中需要激活的系統(tǒng) 消息,如果有,則修改registerRecevierO的intentFilter參數(shù),追加一個(gè)假系統(tǒng)消息, 如:android, net. conn. CONNECTIVITY_CHANGE_FAKE ;當(dāng)系統(tǒng)廣播配置文件中的 android-net. conn. CONNECTIVITY_CHANGE 被觸 發(fā)時(shí), 可發(fā)出 android, net. conn. CONNECTIVITY. CHANGE_FAKE的偽系統(tǒng)廣播。
[0042]由于前面已設(shè)置接收系統(tǒng)廣播的系統(tǒng)消息接收器可接收偽系統(tǒng)廣播,因此系統(tǒng)消 息接收器既可接收真系統(tǒng)廣播也可接收偽系統(tǒng)廣播。由于系統(tǒng)廣播的發(fā)出具有嚴(yán)格的電子 設(shè)備的物理狀態(tài)要求,因此本發(fā)明實(shí)施例通過發(fā)出偽系統(tǒng)廣播來替代真正的系統(tǒng)廣播,在 系統(tǒng)消息接收器接收到偽系統(tǒng)廣播,通過處理函數(shù)對偽系統(tǒng)廣播處理前,可通過修改處理 函數(shù)的action參數(shù)類型,將其由偽系統(tǒng)廣播修改為對應(yīng)的真系統(tǒng)廣播,從而使得處理函數(shù) 對真系統(tǒng)廣播進(jìn)行處理,從而達(dá)成待測應(yīng)用對系統(tǒng)廣播的響應(yīng)處理測試的目的。
[0043] 為便于理解本發(fā)明實(shí)施例提供的應(yīng)用程序?qū)ο到y(tǒng)廣播的響應(yīng)測試方法,下面以 真系統(tǒng)廣播為android的網(wǎng)絡(luò)連接改變廣播(android, net. conn. CONNECTIVITY_CHANGE) 為例對本發(fā)明進(jìn)行詳細(xì)描述,對應(yīng)的,偽系統(tǒng)廣播為android, net. conn. CONNECTIVITY. CHANGE_FAKE〇
[0044] 對于靜態(tài)注冊的方式,本發(fā)明實(shí)施例可對AndroidManifest. xml中聲明的 待測應(yīng)用的系統(tǒng)消息接收器,追加一個(gè)自定義的action,如對于android, net. conn. C0NNECTIVITY_CHANGE 事件類型,可追加自定義的 android, net. conn. CONNECTIVITY. CHANGE_FAKE事件類型:從而使得待測應(yīng)用的系統(tǒng)消息接收器添加可接收android, net. conn. CONNECTIVITY_CHANGE_FAKE 的 action ;
[0045] 對于動(dòng)態(tài)注冊的方式,本發(fā)明實(shí)施例可利用Α0Ρ技術(shù)(面向切面編程技術(shù), 如AspectJ工具)對被測應(yīng)用訪問系統(tǒng)廣播消息注冊函數(shù)android, content. Context. registerReceiverO函數(shù)的代碼進(jìn)行截獲,對registerRecevier函數(shù)調(diào)用點(diǎn)增加插樁代 碼,使得接收C0NNECTIVITY_ACTI0N消息的系統(tǒng)消息接收器增加一個(gè)偽系統(tǒng)消息FAKE_ INTENT_NETTYPE。從而使得待測應(yīng)用的系統(tǒng)消息接收器添加可接收android, net. conn. CONNECTIVITY_CHANGE_FAKE 的 action。
[0046] 無論對于上述哪種方式,本發(fā)明實(shí)施例可解析系統(tǒng)廣播配置文件,在被測應(yīng)用 調(diào)用registerReceiverO處進(jìn)行判斷,是否有在配置文件中需要激活的系統(tǒng)消息,如果 有,則修改registerRecevier ()的intentFilter參數(shù),追加一個(gè)假系統(tǒng)消息,android, net. conn. CONNECTIVITY_CHANGE_FAKE ;當(dāng)系統(tǒng)廣播配置文件中的系統(tǒng)廣播 android, net. conn. C0NNECTIVITY_CHANGE被激活時(shí)(可通過人為進(jìn)行系統(tǒng)廣播配置文件中的系統(tǒng)廣播 的激活),對應(yīng)的android, net. conn. CONNECTIVITY_CHANGE_FAKE將發(fā)出,此時(shí)系統(tǒng)消息接 收器由于設(shè)置了可接收 android, net. conn. CONNECTIVITY_CHANGE_FAKE 的 action,因此系 統(tǒng)消息接收器將接收 android, net. conn. CONNECTIVITY_CHANGE_FAKE,在接收到 android. net. conn. CONNECTIVITY_CHANGE_FAKE后,系統(tǒng)消息接收器中的處理函數(shù)(onReceive函 數(shù))將被觸發(fā)對android, net. conn. CONNECTIVITY_CHANGE_FAKE進(jìn)行處理,本發(fā)明實(shí)施 例可在onReceive函數(shù)執(zhí)行前,通過修改onReceive函數(shù)的action參數(shù)類型,將該參 數(shù)類型由 android, net. conn. CONNECTIVITY_CHANGE_FAKE 修改為 android, net. conn. CONNECTIVITY_CHANGE,即修改為真系統(tǒng)廣播,從而使得處理函數(shù)可對android, net. conn. CONNECTIVITY_CHANGE進(jìn)行處理,達(dá)成待測應(yīng)用對真系統(tǒng)廣播的響應(yīng)測試的目的。
[0047] 本發(fā)明實(shí)施例可通過發(fā)出偽系統(tǒng)廣播,使得系統(tǒng)消息接收器不必要接收真系統(tǒng)廣 播即可完成對真系統(tǒng)廣播的響應(yīng)測試,極大的提升了應(yīng)用程序產(chǎn)品對系統(tǒng)廣播的響應(yīng)處理 的測試效率。
[0048] 可選的,本發(fā)明實(shí)施例可同時(shí)支持靜態(tài)注冊和動(dòng)態(tài)注冊的系統(tǒng)消息注冊方式。以 Android操作系統(tǒng)為例,本發(fā)明在實(shí)現(xiàn)上主要利用了插樁編譯器和Android編譯器,其中用 到的文件可以有系統(tǒng)廣播插樁腳本、系統(tǒng)廣播通知插樁腳本,被測應(yīng)用的java class文件, 修改后的AndroidManifest. xml。結(jié)合圖2所示插樁編譯示意圖:
[0049] 其中,系統(tǒng)廣播插樁腳本,主要利用Α0Ρ技術(shù)對待測應(yīng)用進(jìn)行插樁,主要是過濾出 對系統(tǒng)廣播消息注冊函數(shù)的調(diào)用點(diǎn),然后插入測試代碼,完成系統(tǒng)消息接收器可接收偽系 統(tǒng)廣播的設(shè)置。
[0050] 系統(tǒng)廣播通知插樁腳本,主要用于發(fā)送偽系統(tǒng)廣播消息,從而繞過直接發(fā)送系 統(tǒng)廣播的權(quán)限不足的問題(Permission Denial),同時(shí)對系統(tǒng)消息接收器的處理函數(shù) (onRecevie函數(shù))進(jìn)行截獲、在該函數(shù)執(zhí)行前修改參數(shù)和真系統(tǒng)廣播一致的參數(shù)值,從而達(dá) 到欺騙系統(tǒng)消息接收器所接收的偽系統(tǒng)廣播即為真系統(tǒng)廣播的目的。
[0051] 其中,插樁編譯器可以使用已有的Α0Ρ技術(shù)工具,如AspectJ的編譯器ajc,對系統(tǒng) 消息插樁腳本進(jìn)行編譯以及對被測應(yīng)用的java class文件進(jìn)行插樁,生成插樁后的class 文件。然后交給android編譯器生成插樁后的被測Android apk (安裝包)。
[0052] Android編譯器結(jié)合插樁后的class文件和修改后的AndroidManifest. xml,生成 插樁后的被測Android apk。
[0053] 系統(tǒng)廣播樁模塊運(yùn)行在被測Android apk內(nèi),以網(wǎng)絡(luò)連接改變廣播為例,系統(tǒng)廣播 樁模塊主要負(fù)責(zé):
[0054] (a)解析系統(tǒng)廣播配置文件,在被測應(yīng)用調(diào)用registerReceiver〇處進(jìn)行判 斷,是否有在配置文件中需要激活的系統(tǒng)消息,如果有,則修改registerRecevier〇的 intentFilter 參數(shù),追加一個(gè)假系統(tǒng)消息,如:android, net. conn. C0NNECTIVITY_CHANGE_ FAKE。
[0055] (b)觸發(fā)模擬的系統(tǒng)廣播:當(dāng)測試人員觸發(fā)模擬的系統(tǒng)廣播時(shí),如通過某測試 UI界面激活某個(gè)定義在系統(tǒng)廣播配置文件中的模擬系統(tǒng)消息,如:android, net. conn. C0NNECTIVITY_CHANGE,系統(tǒng)廣播樁模塊會(huì)發(fā)出相應(yīng)的 android, net. conn. CONNECTIVITY. CHANGE_FAKE通知,該通知的接收者同時(shí)也是注冊過android, net. conn. CONNECTIVITY. CHANGE的接收者,從而也被觸發(fā)。同時(shí),系統(tǒng)廣播樁模塊會(huì)監(jiān)聽各個(gè)android, net. conn. CONNECTIVITY_CHANGE_FAKE的接收者的onReceive函數(shù),在onReceive函數(shù)執(zhí)行前,會(huì)篡改 action 參數(shù)類型,將其從 android, net. conn. CONNECTIVITY_CHANGE_FAKE 修改為 android, net. conn. C0NNECTIVITY_CHANGE,以及設(shè)定一定的extra參數(shù),從而達(dá)到和處理android發(fā) 出的系統(tǒng)廣播相同的效果。
[0056] 下面對本發(fā)明實(shí)施例提供的應(yīng)用程序?qū)ο到y(tǒng)廣播的響應(yīng)測試裝置進(jìn)行描述,下文 描述的應(yīng)用程序?qū)ο到y(tǒng)廣播的響應(yīng)測試裝置與上文描述的應(yīng)用程序?qū)ο到y(tǒng)廣播的響應(yīng)測 試方法可相互對應(yīng)參照。
[0057] 圖3為本發(fā)明實(shí)施例提供的應(yīng)用程序?qū)ο到y(tǒng)廣播的響應(yīng)測試裝置的結(jié)構(gòu)框圖,參 照圖3,該裝置可以包括:
[0058] 設(shè)置模塊100,用于設(shè)置待測應(yīng)用的系統(tǒng)消息接收器可接收偽系統(tǒng)廣播;
[0059] 偽系統(tǒng)廣播發(fā)出模塊200,用于發(fā)出偽系統(tǒng)廣播;
[0060] 觸發(fā)接收模塊300,用于觸發(fā)所述系統(tǒng)消息接收器接收所述偽系統(tǒng)廣播;
[0061] 修改模塊400,用于在所述系統(tǒng)消息接收器處理所述偽系統(tǒng)廣播前,將所述系統(tǒng)消 息接收器所處理的廣播參數(shù)由偽系統(tǒng)廣播修改為對應(yīng)的真系統(tǒng)廣播,以使系統(tǒng)消息接收器 處理所述真系統(tǒng)廣播。
[0062] 可選的,圖4示出了設(shè)置模塊100的一種可選結(jié)構(gòu),參照圖4,設(shè)置模塊100可以包 括:
[0063] 添加單元110,用于為待測應(yīng)用的系統(tǒng)消息接收器添加可接收偽系統(tǒng)廣播的 action。
[0064] 可選的,圖5示出了添加單元110的一種可選結(jié)構(gòu),參照圖5,添加單元110可以包 括:
[0065] 第一添加子單元111,用于對于靜態(tài)注冊系統(tǒng)消息的方式,對在系統(tǒng)清單中聲明的 待測應(yīng)用的系統(tǒng)消息接收器追加可接收偽系統(tǒng)廣播的action。
[0066] 可選的,圖6示出了添加單元110的另一種可選結(jié)構(gòu),參照圖6,添加單元110可以 包括:
[0067] 第二添加子單元112,用于對于動(dòng)態(tài)注冊系統(tǒng)消息的方式,過濾出待測應(yīng)用的 class文件的系統(tǒng)廣播消息注冊函數(shù)的調(diào)用點(diǎn),在所述調(diào)用點(diǎn)為所述系統(tǒng)消息接收器增加 所要接收的偽系統(tǒng)廣播的事件類型。
[0068] 可選的,圖5所示添加單元110中也可包括圖6所示第二添加子單元112。
[0069] 可選的,圖7示出了偽系統(tǒng)廣播發(fā)出模塊200的一種可選結(jié)構(gòu),參照圖7,偽系統(tǒng)廣 播發(fā)出模塊200可以包括:
[0070] 解析單元210,用于解析系統(tǒng)廣播配置文件,所述系統(tǒng)廣播配置文件預(yù)置有需要激 活的系統(tǒng)廣播;
[0071] 追加單元220,用于在待測應(yīng)用調(diào)用系統(tǒng)廣播消息注冊函數(shù)處,檢測到存在有所述 系統(tǒng)廣播配置文件中需要激活的系統(tǒng)廣播時(shí),在系統(tǒng)廣播消息注冊函數(shù)的需要注冊的系統(tǒng) 廣播類型中追加需要激活的系統(tǒng)廣播所對應(yīng)的偽系統(tǒng)廣播;
[0072] 發(fā)出單元230,用于在系統(tǒng)廣播配置文件中的系統(tǒng)廣播消息被觸發(fā)時(shí),發(fā)出對應(yīng)的 偽系統(tǒng)廣播。
[0073] 可選的,圖8示出了修改模塊400的一種可選結(jié)構(gòu),參照圖8,修改模塊400可以包 括:
[0074] 參數(shù)類型修改單元410,用于在檢測到系統(tǒng)消息接收器的處理函數(shù)被調(diào)用執(zhí)行前, 將所述處理函數(shù)所處理的action參數(shù)類型從偽系統(tǒng)廣播修改為對應(yīng)的真系統(tǒng)廣播。
[0075] 本發(fā)明實(shí)施例通過設(shè)置待測應(yīng)用的系統(tǒng)消息接收器可接收偽系統(tǒng)廣播,并在系統(tǒng) 消息接收器接收到偽系統(tǒng)廣播并進(jìn)行處理前,將所處理的偽系統(tǒng)廣播修改為對應(yīng)的真系統(tǒng) 廣播,從而對真系統(tǒng)廣播進(jìn)行處理;本發(fā)明實(shí)施例可在任意時(shí)刻隨時(shí)的通過發(fā)出偽系統(tǒng)廣 播,來完成待測應(yīng)用對對應(yīng)真系統(tǒng)廣播的響應(yīng),極大的提升了應(yīng)用程序產(chǎn)品對系統(tǒng)廣播的 響應(yīng)處理的測試效率。
[0076] 本發(fā)明實(shí)施例還提供一種電子設(shè)備,該電子設(shè)備可以包括上述所述的應(yīng)用程序?qū)?系統(tǒng)廣播的響應(yīng)測試裝置,應(yīng)用程序?qū)ο到y(tǒng)廣播的響應(yīng)測試裝置可參照上文對應(yīng)部分描 述,此處不再贅述。
[0077] 圖9為本發(fā)明實(shí)施例提供的電子設(shè)備的硬件結(jié)構(gòu)框圖,參照圖9,該電子設(shè)備可以 包括:處理器1,通信接口 2,存儲(chǔ)器3和通信總線4 ;
[0078] 其中處理器1、通信接口 2、存儲(chǔ)器3通過通信總線4完成相互間的通信;
[0079] 可選的,通信接口 2可以為通信模塊的接口,如GSM模塊的接口;
[0080] 處理器1,用于執(zhí)行程序;
[0081] 存儲(chǔ)器3,用于存放程序;
[0082] 程序可以包括程序代碼,所述程序代碼包括計(jì)算機(jī)操作指令。
[0083] 處理器1可能是一個(gè)中央處理器CPU,或者是特定集成電路ASIC (Application Specific Integrated Circuit),或者是被配置成實(shí)施本發(fā)明實(shí)施例的一個(gè)或多個(gè)集成電 路。
[0084] 存儲(chǔ)器3可能包含高速RAM存儲(chǔ)器,也可能還包括非易失性存儲(chǔ)器(non-volatile memory),例如至少一個(gè)磁盤存儲(chǔ)器。
[0085] 其中,程序可具體用于:
[0086] 設(shè)置待測應(yīng)用的系統(tǒng)消息接收器可接收偽系統(tǒng)廣播;
[0087] 發(fā)出偽系統(tǒng)廣播;
[0088] 觸發(fā)所述系統(tǒng)消息接收器接收所述偽系統(tǒng)廣播;
[0089] 在所述系統(tǒng)消息接收器處理所述偽系統(tǒng)廣播前,將所述系統(tǒng)消息接收器所處理的 廣播參數(shù)由偽系統(tǒng)廣播修改為對應(yīng)的真系統(tǒng)廣播,以使系統(tǒng)消息接收器處理所述真系統(tǒng)廣 播。
[0090] 本說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他 實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。對于實(shí)施例公開的裝置 而言,由于其與實(shí)施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說 明即可。
[0091] 專業(yè)人員還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元 及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和 軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些 功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè) 技術(shù)人員可以對每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng) 認(rèn)為超出本發(fā)明的范圍。
[0092] 結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí) 行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(RAM)、內(nèi)存、只讀存 儲(chǔ)器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動(dòng)磁盤、CD-ROM、或技術(shù) 領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。
[0093] 對所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。 對這些實(shí)施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的 一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明 將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一 致的最寬的范圍。
【權(quán)利要求】
1. 一種應(yīng)用程序?qū)ο到y(tǒng)廣播的響應(yīng)測試方法,其特征在于,包括: 設(shè)置待測應(yīng)用的系統(tǒng)消息接收器可接收偽系統(tǒng)廣播; 發(fā)出偽系統(tǒng)廣播; 觸發(fā)所述系統(tǒng)消息接收器接收所述偽系統(tǒng)廣播; 在所述系統(tǒng)消息接收器處理所述偽系統(tǒng)廣播前,將所述系統(tǒng)消息接收器所處理的廣播 參數(shù)由偽系統(tǒng)廣播修改為對應(yīng)的真系統(tǒng)廣播,以使系統(tǒng)消息接收器處理所述真系統(tǒng)廣播。
2. 根據(jù)權(quán)利要求1所述的應(yīng)用程序?qū)ο到y(tǒng)廣播的響應(yīng)測試方法,其特征在于,所述設(shè) 置待測應(yīng)用的系統(tǒng)消息接收器可接收偽系統(tǒng)廣播包括: 為待測應(yīng)用的系統(tǒng)消息接收器添加可接收偽系統(tǒng)廣播的行為。
3. 根據(jù)權(quán)利要求2所述的應(yīng)用程序?qū)ο到y(tǒng)廣播的響應(yīng)測試方法,其特征在于,所述為 待測應(yīng)用的系統(tǒng)消息接收器添加可接收偽系統(tǒng)廣播的行為包括: 對于靜態(tài)注冊系統(tǒng)消息的方式,對在系統(tǒng)清單中聲明的待測應(yīng)用的系統(tǒng)消息接收器追 加可接收偽系統(tǒng)廣播的行為; 或,對于動(dòng)態(tài)注冊系統(tǒng)消息的方式,過濾出待測應(yīng)用的類文件的系統(tǒng)廣播消息注冊函 數(shù)的調(diào)用點(diǎn),在所述調(diào)用點(diǎn)為所述系統(tǒng)消息接收器增加所要接收的偽系統(tǒng)廣播的事件類 型。
4. 根據(jù)權(quán)利要求1所述的應(yīng)用程序?qū)ο到y(tǒng)廣播的響應(yīng)測試方法,其特征在于,所述發(fā) 出偽系統(tǒng)廣播包括: 解析系統(tǒng)廣播配置文件,所述系統(tǒng)廣播配置文件預(yù)置有需要激活的系統(tǒng)廣播; 在待測應(yīng)用調(diào)用系統(tǒng)廣播消息注冊函數(shù)處,檢測到存在有所述系統(tǒng)廣播配置文件中需 要激活的系統(tǒng)廣播時(shí),在系統(tǒng)廣播消息注冊函數(shù)的需要注冊的系統(tǒng)廣播類型中追加需要激 活的系統(tǒng)廣播所對應(yīng)的偽系統(tǒng)廣播; 在系統(tǒng)廣播配置文件中的系統(tǒng)廣播消息被觸發(fā)時(shí),發(fā)出對應(yīng)的偽系統(tǒng)廣播。
5. 根據(jù)權(quán)利要求1所述的應(yīng)用程序?qū)ο到y(tǒng)廣播的響應(yīng)測試方法,其特征在于,所述將 所述系統(tǒng)消息接收器所處理的廣播參數(shù)由偽系統(tǒng)廣播修改為對應(yīng)的真系統(tǒng)廣播包括: 在檢測到系統(tǒng)消息接收器的處理函數(shù)被調(diào)用執(zhí)行前,將所述處理函數(shù)所處理的行為參 數(shù)類型從偽系統(tǒng)廣播修改為對應(yīng)的真系統(tǒng)廣播。
6. -種應(yīng)用程序?qū)ο到y(tǒng)廣播的響應(yīng)測試裝置,其特征在于,包括: 設(shè)置模塊,用于設(shè)置待測應(yīng)用的系統(tǒng)消息接收器可接收偽系統(tǒng)廣播; 偽系統(tǒng)廣播發(fā)出模塊,用于發(fā)出偽系統(tǒng)廣播; 觸發(fā)接收模塊,用于觸發(fā)所述系統(tǒng)消息接收器接收所述偽系統(tǒng)廣播; 修改模塊,用于在所述系統(tǒng)消息接收器處理所述偽系統(tǒng)廣播前,將所述系統(tǒng)消息接收 器所處理的廣播參數(shù)由偽系統(tǒng)廣播修改為對應(yīng)的真系統(tǒng)廣播,以使系統(tǒng)消息接收器處理所 述真系統(tǒng)廣播。
7. 根據(jù)權(quán)利要求6所述的應(yīng)用程序?qū)ο到y(tǒng)廣播的響應(yīng)測試裝置,其特征在于,所述設(shè) 置模塊包括: 添加單元,用于為待測應(yīng)用的系統(tǒng)消息接收器添加可接收偽系統(tǒng)廣播的行為。
8. 根據(jù)權(quán)利要求7所述的應(yīng)用程序?qū)ο到y(tǒng)廣播的響應(yīng)測試裝置,其特征在于,所述添 加單元包括: 第一添加子單元,用于對于靜態(tài)注冊系統(tǒng)消息的方式,對在系統(tǒng)清單中聲明的待測應(yīng) 用的系統(tǒng)消息接收器追加可接收偽系統(tǒng)廣播的行為; 或,第二添加子單元,用于對于動(dòng)態(tài)注冊系統(tǒng)消息的方式,過濾出待測應(yīng)用的類文件的 系統(tǒng)廣播消息注冊函數(shù)的調(diào)用點(diǎn),在所述調(diào)用點(diǎn)為所述系統(tǒng)消息接收器增加所要接收的偽 系統(tǒng)廣播的事件類型。
9. 根據(jù)權(quán)利要求6所述的應(yīng)用程序?qū)ο到y(tǒng)廣播的響應(yīng)測試裝置,其特征在于,所述偽 系統(tǒng)廣播發(fā)出模塊包括: 解析單元,用于解析系統(tǒng)廣播配置文件,所述系統(tǒng)廣播配置文件預(yù)置有需要激活的系 統(tǒng)廣播; 追加單元,用于在待測應(yīng)用調(diào)用系統(tǒng)廣播消息注冊函數(shù)處,檢測到存在有所述系統(tǒng)廣 播配置文件中需要激活的系統(tǒng)廣播時(shí),在系統(tǒng)廣播消息注冊函數(shù)的需要注冊的系統(tǒng)廣播類 型中追加需要激活的系統(tǒng)廣播所對應(yīng)的偽系統(tǒng)廣播; 發(fā)出單元,用于在系統(tǒng)廣播配置文件中的系統(tǒng)廣播消息被觸發(fā)時(shí),發(fā)出對應(yīng)的偽系統(tǒng) 廣播。
10. 根據(jù)權(quán)利要求6所述的應(yīng)用程序?qū)ο到y(tǒng)廣播的響應(yīng)測試裝置,其特征在于,所述修 改模塊包括: 參數(shù)類型修改單元,用于在檢測到系統(tǒng)消息接收器的處理函數(shù)被調(diào)用執(zhí)行前,將所述 處理函數(shù)所處理的行為參數(shù)類型從偽系統(tǒng)廣播修改為對應(yīng)的真系統(tǒng)廣播。
【文檔編號(hào)】G06F11/36GK104090836SQ201410053311
【公開日】2014年10月8日 申請日期:2014年2月17日 優(yōu)先權(quán)日:2014年2月17日
【發(fā)明者】魯四喜 申請人:騰訊科技(深圳)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
崇阳县| 乌拉特前旗| 三河市| 孙吴县| 浦江县| 西城区| 稻城县| 普陀区| 保靖县| 亚东县| 宁津县| 黑水县| 磴口县| 凌源市| 迁西县| 克拉玛依市| 灵石县| 旺苍县| 三门县| 腾冲县| 遂川县| 高碑店市| 江华| 龙南县| 常德市| 若羌县| 闻喜县| 广水市| 安阳市| 玉林市| 镇宁| 同心县| 沙坪坝区| 龙门县| 东安县| 涿州市| 绥中县| 朝阳区| 玛多县| 黎平县| 石阡县|