发明名称 一种基于计算机视觉的移动端应用测试系统及方法
摘要 一种基于计算机视觉的移动端应用测试系统及方法,包括图像脚本测试模块,全自动测试模块;图像脚本测试模块获取屏幕图像同时获取屏幕信息,读取脚本中的模板图像和模板图像的信息,执行模板匹配算法,如果匹配成功,返回给图像匹配的结果,如果失败,执行特征点匹配算法,如果匹配成功,返回给图像匹配结果,如果失败返回失败码;全自动测试模块获取原始图像,使用显著性检测算法计算原始图像的显著性灰度图像,将显著性图像转为二值图像,在显著性二值图像使用随机算法或者使用K均值算法确定显著性点集自动完成点击和记录。本发明提高了测试的效率,并且适用于种类多样的移动设备,通过给定脚本与全自动的两种方式,极大的提供了测试者的学成本和测试的方便。
申请公布号 CN105868102A 申请公布日期 2016.08.17
申请号 CN201610165980.X 申请日期 2016.03.22
申请人 中国科学院软件研究所 发明人 张震宇;孙成龙
分类号 G06F11/36(2006.01)I 主分类号 G06F11/36(2006.01)I
代理机构 北京科迪生专利代理有限责任公司 11251 代理人 成金玉;孟卜娟
主权项 一种基于计算机视觉的移动端应用测试系统,其特征在于:包括图像脚本测试模块、全自动测试模块、开放应用程序接口、图像算法模块、测试逻辑模块、文件传输模块、图像库、测试框架、Android底层库,其中图像脚本测试模块、全自动测试模块、开放应用程序接口位于顶层的应用层,图像算法模块、测试逻辑模块、文件传输模块位于中间层,图像库、测试框架、Android库位于最底层:图像脚本测试模块,通过文件传输模块的adb或者http协议获取移动端屏幕图像和移动端屏幕信息,同时读取图像脚本中的模板图像和模板图像的信息,还有操作命令;然后执行位于图像算法模块中的模板匹配算法,将图像脚本中的模板图像在移动端屏幕图像上找到相应的位置,如果匹配成功则结束,根据图像匹配的结果,即位置信息,执行图像脚本中的操作命令;如果失败,执行图像算法模块中的特征点匹配算法,如果匹配成功则结束,同样根据图像匹配的结果,即位置信息,执行图像脚本中的操作命令;如果失败则返回失败码;全自动测试模块,通过文件传输模块的adb或者http协议获取屏幕图像同时获取屏幕信息,得到原始图像,采用显著性检测算法计算原始图像的显著性灰度图像,使用设定的阈值将显著性图像转为显著性二值图像,在显著性二值图像中通过测试逻辑模块选择采用图像算法模块中随机算法或者K均值算法确定显著性点集,然后再根据显著性点集的位置信息,自动完成在移动端这些位置的点击和记录;开放应用程序接口,将图像脚本测试模块和全自动测试模块分别包装起来,各自提供相应的Java,Python接口,方便各种程序员简单使用;图像算法模块,依赖于底层的图像库,实现了模板匹配算法、特征点匹配算法、图像显著性检测算法、随机算法和K均值算法,并提供给上层的图像脚本测试模块与全自动测试模块使用;测试逻辑模块,依赖于底层测试框架Junit框架,实现一些测试逻辑给上层的图像脚本测试模块与全自动测试模块使用,实现整个测试的操作流程全部架构在Junit之上;文件传输模块,依赖于底层Android库,使用Android库中的adb与http通信协议,传输给上层的图像脚本测试模块与全自动测试模块使用,包括移动设备屏幕图像和移动设备屏幕信息;图像库,底层依赖,使用Opencv构建,为上层图像算法模块提供基础的底层开发环境及一些基本的库,包括图像输入输出,图像像素点的获取与更改;测试框架,底层依赖,使用的Java中的junit,为上层的测试逻辑模块提供基础的测试方法,和Java基础的测试接口和实现类;Android库,底层依赖,android自带的基础库,为上层的文件传输模块提供基础的移动端操作接口,各种文件的读取写入最底层接口。
地址 100190 北京市海淀区中关村南四街4号