CN110990238A - 基于视频拍摄的非侵入式可视化测试脚本自动录制方法 - Google Patents
基于视频拍摄的非侵入式可视化测试脚本自动录制方法 Download PDFInfo
- Publication number
- CN110990238A CN110990238A CN201911104693.8A CN201911104693A CN110990238A CN 110990238 A CN110990238 A CN 110990238A CN 201911104693 A CN201911104693 A CN 201911104693A CN 110990238 A CN110990238 A CN 110990238A
- Authority
- CN
- China
- Prior art keywords
- video
- finger
- video shooting
- image
- test script
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3438—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Studio Devices (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了基于视频拍摄的非侵入式可视化测试脚本自动录制方法,步骤为:首先,按指定规范拍摄用户操作视频;其次,从视频中提取每次操作前的屏幕图像以及操作时的触控点位置;然后,根据屏幕图像和触控点位置,获得用户所操作的目标控件的图像;最后,基于控件图像生成测试脚本。本发明运用计算机视觉算法,将视频捕获的人工在触控屏幕上的点击动作自动转化为可视化测试脚本。录制过程主要针对触屏上的点击动作,动作识别完全通过对人工操作视频的智能识别实现,全程无需在目标设备上安装任何软件,无需建立任何有线、无线连接。
Description
技术领域
本发明属于计算机软件开发领域,特别涉及了一种可视化测试脚本自动录制方法。
背景技术
可视化测试脚本是基于计算机视觉技术而产生的一种新型测试脚本,用于实现自动化测试。它可以使用图像代替文字标识、索引号、坐标位置等,以标识被触控的界面控件,从而简化测试脚本中动作流程的描述。
当前针对可视化脚本的录制主要有两种方法:一是完全手动编写测试脚本,测试动作由手工指定,界面控件的图像也由手工拍照或者截图的方式获取,使用该方法产生一个脚本往往需要花费较长的时间,效率低下;二是使用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、根据二值图像,使用OpenCV中的轮廓检测方法寻找其中面积最大的轮廓作为手部轮廓,然后得到该手部轮廓中所有点构成的点集;
203、从轮廓点集中寻找从屏幕底部到屏幕顶部的垂直方向上坐标值最大的点作为代表最长手指指尖位置的点,以图像左下角为原点,记录指尖坐标。
在本实施例中,以计算器计算1+5=6的过程作为示例。在步骤3中,帧序号与指尖垂直坐标的关系如图3所示,明显可见该视频中的帧可以被分为5组,分别对应“点击计算器图标”、“点击数字1”、“点击符号+”、“点击数字5”和“点击符号=”这5次手指操作。
在本实施例中,可以采用如下优选方案实现上述步骤5:
501、使用Canny边缘识别算法,获得动作前屏幕图像中各个轮廓;
502、分别针对各个轮廓图执行一次闭运算,实现各个轮廓的更新优化;
503、分别针对各个轮廓,获得包含轮廓的最小矩形的顶点坐标与面积,构成各个轮廓所对应的矩形;
504、从步骤503中得到各矩形中,选择区域内包含触控点且面积在目标控件设定范围内的最大矩形作为目标控件所对应的矩形。在计算器示例中,目标控件为计算器图标,如图4中的(a)所示,图4中的(b)为(a)对应的实际图像。根据该矩形的顶点坐标,对动作前屏幕图像进行裁剪,获得目标控件的图像。
该示例下所生成的测试脚本如图5所示。
在实验过程中,共对微信、饿了么、淘宝等20种不同的应用设计了100个不同的测试脚本,涉及到社交、网购、衣食住行、旅游等多个应用领域。经过实际检验,90%的测试过程都能很好地按预设要求完成脚本录制,表明本发明所提出的技术可在非侵入方式下满足触屏设备上的大部分只包含点击动作的测试脚本录制需要,具有良好的使用效果。
本发明中所涉及到的触屏设备可以是手机、平板等各种触屏式设备。
实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
Claims (4)
1.基于视频拍摄的非侵入式可视化测试脚本自动录制方法,其特征在于,包括以下步骤:
(1)手工执行一遍测试动作流程,由视频拍摄装置对整个流程进行拍摄,并保存为视频文件;
(2)读取视频文件,对于视频中的每一帧图像,采用皮肤检测算法计算帧图像中最长手指的指尖坐标;如果不存在手指,则将指尖坐标记为(0,0);
(3)根据得到的指尖坐标信息,以一次完整的手指操作为标准,对视频帧进行分组,得到每一次手指操作在视频中所对应的帧序号范围;
(4)对于每一组视频帧,选取该组开始帧的前一帧的图像作为动作前屏幕图像;同时,选取该组指尖坐标中垂直方向值最大的指尖坐标,减去预设的垂直偏移量后,作为触控点坐标;
(5)从动作前屏幕图像中识别出所有控件的位置和大小,再根据触控点位置得到目标控件图像;
(6)脚本生成程序根据识别出的执行动作及其对应的目标控件图像,按照测试脚本的语法规则,生成完整的测试脚本。
2.根据权利要求1所述基于视频拍摄的非侵入式可视化测试脚本自动录制方法,其特征在于,步骤(1)的具体过程如下:
(101)选取一处平坦的位置作为设备放置区域,将视频拍摄装置置于设备放置区域的上方,视频拍摄装置的视频拍摄端竖直向下,且视频拍摄区域覆盖整个设备放置区域;
(102)打开视频拍摄装置,开启视频拍摄;
(103)执行测试动作,使手指从视频拍摄区域底部移入,以一根手指伸出、其他手指蜷曲且指尖用力的手势对触屏设备上的某一目标进行操作,同时确保伸出的手指与水平面的角度不超过45度以减轻透视的影响,操作完成后将手指按移入时的反方向移出视频拍摄区域之外;
(104)重复步骤(103),直至完成对触屏设备上所有目标的操作,然后关闭视频拍摄装置,保存视频。
3.根据权利要求1所述基于视频拍摄的非侵入式可视化测试脚本自动录制方法,其特征在于,在步骤(2)中,获取帧图像中最长手指的指尖坐标的方法如下:
(201)采用基于颜色范围的皮肤检测算法,将帧图像转化为二值图,其中白色代表手指部分,黑色代表非手指部分;
(202)根据二值图像,使用OpenCV中的轮廓检测方法寻找其中面积最大的轮廓作为手部轮廓,然后得到该手部轮廓中所有点构成的点集;
(203)从轮廓点集中寻找从屏幕底部到屏幕顶部的垂直方向上坐标值最大的点作为代表最长手指指尖位置的点。
4.根据权利要求1所述基于视频拍摄的非侵入式可视化测试脚本自动录制方法,其特征在于,步骤(5)的具体过程如下:
(501)使用Canny边缘识别算法,获得动作前屏幕图像中各个轮廓;
(502)分别针对各个轮廓图执行一次闭运算,实现各个轮廓的更新优化;
(503)分别针对各个轮廓,获得包含轮廓的最小矩形的顶点坐标与面积,构成各个轮廓所对应的矩形;
(504)从步骤(503)中得到各矩形中,选择区域内包含触控点且面积在目标控件设定范围内的最大矩形作为目标控件所对应的矩形,根据该矩形的顶点坐标,对动作前屏幕图像进行裁剪,获得目标控件的图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911104693.8A CN110990238B (zh) | 2019-11-13 | 2019-11-13 | 基于视频拍摄的非侵入式可视化测试脚本自动录制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911104693.8A CN110990238B (zh) | 2019-11-13 | 2019-11-13 | 基于视频拍摄的非侵入式可视化测试脚本自动录制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110990238A true CN110990238A (zh) | 2020-04-10 |
CN110990238B CN110990238B (zh) | 2021-09-21 |
Family
ID=70084072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911104693.8A Active CN110990238B (zh) | 2019-11-13 | 2019-11-13 | 基于视频拍摄的非侵入式可视化测试脚本自动录制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110990238B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112836603A (zh) * | 2021-01-21 | 2021-05-25 | 南京航空航天大学 | 基于机器人的触屏设备快速探索测试方法 |
CN113807191A (zh) * | 2021-08-23 | 2021-12-17 | 南京航空航天大学 | 一种非侵入式可视化测试脚本自动录制方法 |
WO2022252239A1 (zh) * | 2021-05-31 | 2022-12-08 | 浙江大学 | 基于计算机视觉的移动端应用控件识别方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1976526A (zh) * | 2006-11-15 | 2007-06-06 | 华为技术有限公司 | 一种手机自动化测试系统和测试方法 |
CN102314386A (zh) * | 2011-09-05 | 2012-01-11 | 百度在线网络技术(北京)有限公司 | 一种测试移动终端的方法与设备 |
CN103558914A (zh) * | 2013-10-31 | 2014-02-05 | 中山大学 | 基于几何校正优化的单摄像头虚拟键盘 |
CN105320248A (zh) * | 2014-06-03 | 2016-02-10 | 深圳Tcl新技术有限公司 | 空中手势输入方法及装置 |
CN106055446A (zh) * | 2016-06-24 | 2016-10-26 | 捷开通讯(深圳)有限公司 | 一种移动终端的测试方法及装置 |
CN108829268A (zh) * | 2018-07-11 | 2018-11-16 | 南京邮电大学 | 基于单个rgb摄像头的键盘输入方法 |
-
2019
- 2019-11-13 CN CN201911104693.8A patent/CN110990238B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1976526A (zh) * | 2006-11-15 | 2007-06-06 | 华为技术有限公司 | 一种手机自动化测试系统和测试方法 |
CN102314386A (zh) * | 2011-09-05 | 2012-01-11 | 百度在线网络技术(北京)有限公司 | 一种测试移动终端的方法与设备 |
CN103558914A (zh) * | 2013-10-31 | 2014-02-05 | 中山大学 | 基于几何校正优化的单摄像头虚拟键盘 |
CN105320248A (zh) * | 2014-06-03 | 2016-02-10 | 深圳Tcl新技术有限公司 | 空中手势输入方法及装置 |
CN106055446A (zh) * | 2016-06-24 | 2016-10-26 | 捷开通讯(深圳)有限公司 | 一种移动终端的测试方法及装置 |
CN108829268A (zh) * | 2018-07-11 | 2018-11-16 | 南京邮电大学 | 基于单个rgb摄像头的键盘输入方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112836603A (zh) * | 2021-01-21 | 2021-05-25 | 南京航空航天大学 | 基于机器人的触屏设备快速探索测试方法 |
CN112836603B (zh) * | 2021-01-21 | 2024-04-05 | 南京航空航天大学 | 基于机器人的触屏设备快速探索测试方法 |
WO2022252239A1 (zh) * | 2021-05-31 | 2022-12-08 | 浙江大学 | 基于计算机视觉的移动端应用控件识别方法 |
CN113807191A (zh) * | 2021-08-23 | 2021-12-17 | 南京航空航天大学 | 一种非侵入式可视化测试脚本自动录制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110990238B (zh) | 2021-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110990238B (zh) | 基于视频拍摄的非侵入式可视化测试脚本自动录制方法 | |
JP5784141B2 (ja) | 重畳筆記による手書き入力方法 | |
US9122353B2 (en) | Kind of multi-touch input device | |
CN105117056B (zh) | 一种操作触摸屏的方法和设备 | |
CN102446032B (zh) | 基于摄像头的信息输入方法及终端 | |
CN103150019A (zh) | 一种手写输入系统及方法 | |
WO2007097548A1 (en) | Method and apparatus for user-interface using the hand trace | |
CN108616712B (zh) | 一种基于摄像头的界面操作方法、装置、设备及存储介质 | |
WO2018000519A1 (zh) | 一种基于投影的用户交互图标的交互控制方法及系统 | |
CN103106388B (zh) | 图像识别方法和系统 | |
CN110619630B (zh) | 一种基于机器人的移动设备可视化测试系统及测试方法 | |
CN106919326A (zh) | 一种图片搜索方法及装置 | |
Yin et al. | CamK: A camera-based keyboard for small mobile devices | |
CN111984124A (zh) | 一种舞台灯光控台的操作方法、介质及舞台灯光控台 | |
WO2022206534A1 (zh) | 文本内容识别方法、装置、计算机设备和存储介质 | |
Hartanto et al. | Real time hand gesture movements tracking and recognizing system | |
KR101433543B1 (ko) | 제스처 기반으로 한 인간과 컴퓨터의 상호작용에 대한 방법, 시스템 및 컴퓨터 기록 매체 | |
CN110633042A (zh) | 一种电子白板笔迹擦除方法、装置及设备 | |
CN110442242B (zh) | 一种基于双目空间手势交互的智能镜系统及控制方法 | |
KR20190027287A (ko) | 손가락 동작과 입 모양에 의한 키보드와 마우스 기능 모사 방법 | |
CN112199015A (zh) | 智能交互一体机及其书写方法、装置 | |
US20170085784A1 (en) | Method for image capturing and an electronic device using the method | |
CN103176603A (zh) | 计算机手势输入系统 | |
KR20170100541A (ko) | 프로그램, 정보기억매체 및 인식장치 | |
CN113807191A (zh) | 一种非侵入式可视化测试脚本自动录制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |