基于视频拍摄的非侵入式可视化测试脚本自动录制方法技术

技术编号:23764006 阅读:18 留言:0更新日期:2020-04-11 18:53
本发明专利技术公开了基于视频拍摄的非侵入式可视化测试脚本自动录制方法,步骤为:首先,按指定规范拍摄用户操作视频;其次,从视频中提取每次操作前的屏幕图像以及操作时的触控点位置;然后,根据屏幕图像和触控点位置,获得用户所操作的目标控件的图像;最后,基于控件图像生成测试脚本。本发明专利技术运用计算机视觉算法,将视频捕获的人工在触控屏幕上的点击动作自动转化为可视化测试脚本。录制过程主要针对触屏上的点击动作,动作识别完全通过对人工操作视频的智能识别实现,全程无需在目标设备上安装任何软件,无需建立任何有线、无线连接。

Automatic recording method of non-invasive visual test script based on video capture

【技术实现步骤摘要】
基于视频拍摄的非侵入式可视化测试脚本自动录制方法
本专利技术属于计算机软件开发领域,特别涉及了一种可视化测试脚本自动录制方法。
技术介绍
可视化测试脚本是基于计算机视觉技术而产生的一种新型测试脚本,用于实现自动化测试。它可以使用图像代替文字标识、索引号、坐标位置等,以标识被触控的界面控件,从而简化测试脚本中动作流程的描述。当前针对可视化脚本的录制主要有两种方法:一是完全手动编写测试脚本,测试动作由手工指定,界面控件的图像也由手工拍照或者截图的方式获取,使用该方法产生一个脚本往往需要花费较长的时间,效率低下;二是使用AirTest等可视化脚本录制工具来自动生成测试脚本,但是这类工具往往需要在目标设备上安装专属软件,属于侵入式的方法,无法应用在一些软件安装受限的封闭式设备上。综上所述,如何提高可视化脚本的录制效率,同时实现非侵入式脚本录制以适应封闭式触屏装备上自动化测试的需要,已经成为本领域亟待解决的问题。
技术实现思路
为了解决上述
技术介绍
提到的技术问题,本专利技术提出了基于视频拍摄的非侵入式可视化测试脚本自动录制方法。为了实现上述技术目的,本专利技术的技术方案为:基于视频拍摄的非侵入式可视化测试脚本自动录制方法,包括以下步骤:(1)手工执行一遍测试动作流程,由视频拍摄装置对整个流程进行拍摄,并保存为视频文件;(2)读取视频文件,对于视频中的每一帧图像,采用皮肤检测算法计算帧图像中最长手指的指尖坐标;如果不存在手指,则将指尖坐标记为(0,0);(3)根据得到的指尖坐标信息,以一次完整的手指操作为标准,对视频帧进行分组,得到每一次手指操作在视频中所对应的帧序号范围;(4)对于每一组视频帧,选取该组开始帧的前一帧的图像作为动作前屏幕图像;同时,选取该组指尖坐标中垂直方向值最大的指尖坐标,减去预设的垂直偏移量后,作为触控点坐标;(5)从动作前屏幕图像中识别出所有控件的位置和大小,再根据触控点位置得到目标控件图像;(6)脚本生成程序根据识别出的执行动作及其对应的目标控件图像,按照测试脚本的语法规则,生成完整的测试脚本。进一步地,步骤(1)的具体过程如下:(101)选取一处平坦的位置作为设备放置区域,将视频拍摄装置置于设备放置区域的上方,视频拍摄装置的视频拍摄端竖直向下,且视频拍摄区域覆盖整个设备放置区域;(102)打开视频拍摄装置,开启视频拍摄;(103)执行测试动作,使手指从视频拍摄区域底部移入,以一根手指伸出、其他手指蜷曲且指尖用力的手势对触屏设备上的某一目标进行操作,同时确保伸出的手指与水平面的角度不超过45度以减轻透视的影响,操作完成后将手指按移入时的反方向移出视频拍摄区域之外;(104)重复步骤(103),直至完成对触屏设备上所有目标的操作,然后关闭视频拍摄装置,保存视频。进一步地,在步骤(2)中,获取帧图像中最长手指的指尖坐标的方法如下:(201)采用基于颜色范围的皮肤检测算法,将帧图像转化为二值图,其中白色代表手指部分,黑色代表非手指部分;(202)根据二值图像,使用OpenCV中的轮廓检测方法寻找其中面积最大的轮廓作为手部轮廓,然后得到该手部轮廓中所有点构成的点集;(203)从轮廓点集中寻找从屏幕底部到屏幕顶部的垂直方向上坐标值最大的点作为代表最长手指指尖位置的点。进一步地,步骤(5)的具体过程如下:(501)使用Canny边缘识别算法,获得动作前屏幕图像中各个轮廓;(502)分别针对各个轮廓图执行一次闭运算,实现各个轮廓的更新优化;(503)分别针对各个轮廓,获得包含轮廓的最小矩形的顶点坐标与面积,构成各个轮廓所对应的矩形;(504)从步骤(503)中得到各矩形中,选择区域内包含触控点且面积在目标控件设定范围内的最大矩形作为目标控件所对应的矩形,根据该矩形的顶点坐标,对动作前屏幕图像进行裁剪,获得目标控件的图像。采用上述技术方案带来的有益效果:(1)本专利技术设计的可视化测试脚本自动录制方法相对于手工编写脚本的方法,不需要手动截取控件图片、手动识别脚本动作,可以大大提高脚本生成效率;(2)本专利技术设计的可视化测试脚本自动录制方法,无需在目标设备上安装任何软件,无需建立任何有线、无线连接,可适用于各种触屏设备,相比于现有的可视化脚本录制方法,具有更广泛的适用性。附图说明图1是本专利技术的方法流程图;图2是本专利技术中视频拍摄装置的设置示意图;图3是实施例中帧序号与指尖垂直坐标的关系图;图4是实施例中获取目标控件矩形框的示意图;图5是实施例中生成的测试脚本示意图。具体实施方式以下将结合附图,对本专利技术的技术方案进行详细说明。本专利技术的基本思想是,通过视频拍摄装置拍摄手动测试的视频,再利用脚本生成程序将视频转化为测试脚本,由此使用非侵入式的方式实现对触屏设备进行测试时测试脚本的高效录制。如图1所示,本专利技术提出的基于视频拍摄的非侵入式可视化测试脚本自动录制方法,步骤如下:步骤1:手工执行一遍测试动作流程,由视频拍摄装置对整个流程进行拍摄,并保存为视频文件;步骤2:读取视频文件,对于视频中的每一帧图像,采用皮肤检测算法计算帧图像中最长手指的指尖坐标;如果不存在手指,则将指尖坐标记为(0,0);步骤3:根据得到的指尖坐标信息,以一次完整的手指操作为标准,对视频帧进行分组,得到每一次手指操作在视频中所对应的帧序号范围;步骤4:对于每一组视频帧,选取该组开始帧的前一帧的图像作为动作前屏幕图像;同时,选取该组指尖坐标中垂直方向值最大的指尖坐标,减去预设的垂直偏移量后,作为触控点坐标;步骤5:从动作前屏幕图像中识别出所有控件的位置和大小,再根据触控点位置得到目标控件图像;步骤6:脚本生成程序根据识别出的执行动作及其对应的目标控件图像,按照测试脚本的语法规则,生成完整的测试脚本。在本实施例中,可以采用如下优选方案实现上述步骤1:101、选取一处平坦的位置作为设备放置区域,将视频拍摄装置置于设备放置区域的上方,视频拍摄装置的视频拍摄端竖直向下,且视频拍摄区域覆盖整个设备放置区域;如图2所示,图中的1即为视频拍摄装置;102、打开视频拍摄装置,开启视频拍摄;103、执行测试动作,使手指从视频拍摄区域底部移入,以一根手指伸出、其他手指蜷曲且指尖用力的手势对触屏设备上的某一目标进行操作,同时确保伸出的手指与水平面的角度不超过45度以减轻透视的影响,操作完成后将手指按移入时的反方向移出视频拍摄区域之外;104、重复步骤103,直至完成对触屏设备上所有目标的操作,然后关闭视频拍摄装置,保存视频。在本实施例中,可以采用如下优选方案实现上述步骤2:201、采用基于颜色范围的皮肤检测算法,将帧图像转化为二值图,其中白色代表手指部分,黑色代表非手指部分;202、根据二值图像,本文档来自技高网...

【技术保护点】
1.基于视频拍摄的非侵入式可视化测试脚本自动录制方法,其特征在于,包括以下步骤:/n(1)手工执行一遍测试动作流程,由视频拍摄装置对整个流程进行拍摄,并保存为视频文件;/n(2)读取视频文件,对于视频中的每一帧图像,采用皮肤检测算法计算帧图像中最长手指的指尖坐标;如果不存在手指,则将指尖坐标记为(0,0);/n(3)根据得到的指尖坐标信息,以一次完整的手指操作为标准,对视频帧进行分组,得到每一次手指操作在视频中所对应的帧序号范围;/n(4)对于每一组视频帧,选取该组开始帧的前一帧的图像作为动作前屏幕图像;同时,选取该组指尖坐标中垂直方向值最大的指尖坐标,减去预设的垂直偏移量后,作为触控点坐标;/n(5)从动作前屏幕图像中识别出所有控件的位置和大小,再根据触控点位置得到目标控件图像;/n(6)脚本生成程序根据识别出的执行动作及其对应的目标控件图像,按照测试脚本的语法规则,生成完整的测试脚本。/n

【技术特征摘要】
1.基于视频拍摄的非侵入式可视化测试脚本自动录制方法,其特征在于,包括以下步骤:
(1)手工执行一遍测试动作流程,由视频拍摄装置对整个流程进行拍摄,并保存为视频文件;
(2)读取视频文件,对于视频中的每一帧图像,采用皮肤检测算法计算帧图像中最长手指的指尖坐标;如果不存在手指,则将指尖坐标记为(0,0);
(3)根据得到的指尖坐标信息,以一次完整的手指操作为标准,对视频帧进行分组,得到每一次手指操作在视频中所对应的帧序号范围;
(4)对于每一组视频帧,选取该组开始帧的前一帧的图像作为动作前屏幕图像;同时,选取该组指尖坐标中垂直方向值最大的指尖坐标,减去预设的垂直偏移量后,作为触控点坐标;
(5)从动作前屏幕图像中识别出所有控件的位置和大小,再根据触控点位置得到目标控件图像;
(6)脚本生成程序根据识别出的执行动作及其对应的目标控件图像,按照测试脚本的语法规则,生成完整的测试脚本。


2.根据权利要求1所述基于视频拍摄的非侵入式可视化测试脚本自动录制方法,其特征在于,步骤(1)的具体过程如下:
(101)选取一处平坦的位置作为设备放置区域,将视频拍摄装置置于设备放置区域的上方,视频拍摄装置的视频拍摄端竖直向下,且视频拍摄区域覆盖整个设备放置区域;
(102)打开视频拍摄装置,开启视频拍摄;
(103)执行测试动作,使手指从视频拍摄区域底部移入,以一根手指伸出、其他手指蜷曲且指尖用力的手势对触屏设备上的某一目标进行操作,同时确保伸出的...

【专利技术属性】
技术研发人员:钱巨颜硕彦
申请(专利权)人:南京航空航天大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1