[发明专利]遍历窗口对象的方法及装置有效
申请号: | 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.vipzhuanli.com/pat/books/201410826828.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:业务流程配置方法及装置
- 下一篇:一种虚拟运营商增值服务的提供方法及业务平台