[发明专利]一种基于代码注入的移动端应用测试系统及方法有效
申请号: | 201610333630.X | 申请日: | 2016-05-19 |
公开(公告)号: | CN106055469B | 公开(公告)日: | 2018-05-18 |
发明(设计)人: | 黄甜;张震宇 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京科迪生专利代理有限责任公司 11251 | 代理人: | 成金玉;卢纪 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于代码注入的移动端应用测试系统及方法,包括进程劫持模块,全自动化测试模块;进程劫持模块对系统进程进行检测,如果进程存在则获取进程的唯一标识符,对进程进行劫持,如果劫持成功,注入用于获取进程信息的代码,用于实时检测和获取进程的运行信息,如果劫持失败则返回失败码,如果进程不存在返回进程不存在码;全自动化测试模块执行循环获取图形绘制过程中帧绘制时间的信息。本发明对应用运行过程中的图形运行流畅度进行自动化的测试和分析,提高了测试的效率,而且不需要修改应用的源代码,适用于屏幕尺寸多样的移动Android设备,极大地方便了自动化测试平台和开发者对应用进行测试。 | ||
搜索关键词: | 一种 基于 代码 注入 移动 应用 测试 系统 方法 | ||
【主权项】:
1.一种基于代码注入的移动端应用测试系统,其特征在于:包括进程劫持模块、全自动化测试模块、链接库文件模块、文件传输模块、ShellExecute执行命令模块、Android底层库、Linux内核;其中进程劫持模块、全自动化测试模块位于顶层的应用层,链接库文件模块、文件传输模块、ShellExecute执行命令模块位于中间层,Android底层库、Linux内核位于底层;进程劫持模块,采用代码注入技术,通过调用链接库文件模块的动态链接库对Android的系统进程进行获取,如果进程存在,获取该进程的唯一标识符并执行进程劫持,如果劫持成功则注入链接库文件模块的静态链接库到该进程,静态链接库文件将自动执行实时地检测并获取进程中应用图像运行的帧率信息,并调用文件传输模块将帧率信息数据传输并保存到指定目录的文件中,同时通过文件传输模块将检测到的进程中应用图像运行的帧率信息进行获取,如果劫持失败返回失败码,如果进程不存在返回进程不存在码,静态链接库将不被注入系统进程中,也不会调用文件传输模块获取应用运行信息;全自动化测试模块,在不影响移动端应用运行情况下后台运行,通过ShellExecute执行命令模块的adb shell获取移动端屏幕图像帧绘制时间信息和移动端设备相关的信息,并调用文件传输模块对获取到的信息进行存储;链接库文件模块,通过Java本地接口将C/C++文件进行调用,并使用本地开发包将这些文件编译为多个平台下可执行的动态链接库和静态链接库;文件传输模块,使用Android库中的adb或http通信协议,传输数据到上层的进程劫持模块和全自动化测试模块,数据包括移动设备应用屏幕图像运行的帧率信息和图像的帧绘制时间信息及移动设备相关的信息;ShellExecute执行命令模块,对ShellExecute进行了封装,循环执行adb shell命令检测和获取应用运行过程中图像帧绘制时间信息,调用文件传输模块将图像帧绘制时间信息写入文件,并进行格式处理;Android底层库,底层依赖,包括Android自带的基础库,为上层的链接库文件模块和文件传输模块提供基础的移动端操作接口;Linux内核,底层依赖,作为移动端Android设备硬件和Android系统及应用软件之间的抽象层,为中间层,即链接库文件模块,文件传输模块和ShellExecute执行命令模块提供了依赖支持,隐藏具体硬件细节提供Android的核心系统服务。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610333630.X/,转载请声明来源钻瓜专利网。