[發明專利]遍歷窗口對象的方法及裝置有效
| 申請號: | 201410826828.2 | 申請日: | 2014-12-26 |
| 公開(公告)號: | CN104536750B | 公開(公告)日: | 2018-10-30 |
| 發明(設計)人: | 張輝 | 申請(專利權)人: | 北京奇虎科技有限公司;奇智軟件(北京)有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京鼎佳達知識產權代理事務所(普通合伙) 11348 | 代理人: | 王偉鋒;劉鐵生 |
| 地址: | 100088 北京市西城區新*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 遍歷 窗口對象 系統進程 截獲 測試過程 方法調用 系統底層 應用測試 進程 應用 | ||
本發明公開了一種遍歷窗口對象的方法及裝置,涉及應用測試領域,能夠針對所有Android操作系統版本快速進行窗口對象的遍歷。本發明的方法包括:將Hook模塊中的第一Hook函數注入到System_server系統進程中;通過所述第一Hook函數截獲系統進程,并在系統底層中通過方法調用獲取當前窗口的進程;將所述Hook模塊中的第二Hook函數注入到所述當前窗口的進程中,以便截獲所述當前窗口的進程,并執行所述第二Hook函數遍歷所述當前窗口中的窗口對象。本發明主要應用于UI對象的遍歷及測試過程中。
技術領域
本發明涉及應用測試領域,尤其涉及一種遍歷窗口對象的方法及裝置。
背景技術
隨著Android系統市場占有率的增加,越來越多的開發者基于Android系統開發app(application,應用)。每款app在開發完畢后,并不能馬上上線,因為該app在實際系統上使用時,可能會出現一些bug,比如在app的各個UI界面(窗口對象)在用戶點擊時無法響應,UI跳轉時跳轉失敗或者邏輯錯誤等。因此對于APP一般在開發完成后,需要先進行UI測試,當所有APP在Android系統中的UI界面運行正常后才會正式發布。而在UI測試過程中,則采用某些工具遍歷APP的窗口對象并進行測試。
傳統的遍歷窗口對象的方式包括:1、通過viewserver(窗口服務)遍歷窗口對象,該種方案適合所有的Android版本,但是速度慢;2、通過Accessibility Service(輔助功能服務)遍歷窗口對象,雖然該種方式遍歷窗口對象的速度快,但是只適用于Android4.2版本之上,并且其遍歷的窗口對象并不全面,對于子窗口對象可能會遺失;3、通過UIAutomator(UI自動化測試工具)遍歷窗口對象,但是該測試工具也只適合Android4.2版本之上。因此,目前尚未存在一種既可以兼容各種Android操作系統版本又能夠快速遍歷窗口對象的實現方式。
發明內容
鑒于上述問題,本發明提供了一種遍歷窗口對象的方法及裝置,能夠針對所有Android操作系統版本快速進行窗口對象的遍歷。
一方面,本發明提供了一種遍歷窗口對象的方法,包括:
將Hook模塊中的第一Hook函數注入到System_server系統進程中;
通過第一Hook函數截獲系統進程,并在系統底層中通過方法調用獲取當前窗口的進程;
將Hook模塊中的第二Hook函數注入到當前窗口的進程中,以便截獲當前窗口的進程,并執行第二Hook函數遍歷當前窗口中的窗口對象。
進一步的,通過第一Hook函數截獲系統進程,并在系統底層中通過方法調用獲取當前窗口的進程,包括:
在系統底層中調用ActivityManagerService活動管理服務對象;
在ActivityManagerService中調用成員WindowsManagerService窗口管理服務對象,獲得當前窗口的進程。
進一步的,在ActivityManagerService中調用成員WindowsManagerService窗口管理服務對象,獲得當前窗口的進程,包括:
調用WindowsManagerService中的GetFocusWindow函數獲得當前窗口的進程。
進一步的,在將Hook模塊中的第二Hook函數注入到當前窗口的進程中之前,方法進一步包括:
由mclient代理端通過ibinder通信機制調用服務端Hook模塊中的第二Hook函數。
進一步的,在將Hook模塊中的第二Hook函數注入到當前窗口的進程中之后,方法進一步包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇虎科技有限公司;奇智軟件(北京)有限公司,未經北京奇虎科技有限公司;奇智軟件(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410826828.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:業務流程配置方法及裝置
- 下一篇:一種虛擬運營商增值服務的提供方法及業務平臺





