Squish 7.0中视频捕获 (含相关网络直播研讨会报名信息)
本文翻译自Video capture in Squish 7.0 – feature focus (原文发布于2022年3月4日)
原文作者:Qt公司软件工程师Katarina Behrens
翻译:Joyce Jiang
Squish GUI Tester 7.0是首个提供独特新功能的Squish版本:通过捕获测试执行的视频调试和记录测试。
长期以来,可以通过Squish捕获AUT运行时的截图,不仅支持在失败时自动截图也支持使用脚本语言的API函数按需截图。虽然这有助于用户了解AUT和桌面上发生故障时的情况,但它提供的是一个相当静态的事件图片。
用视频捕获测试执行的能力提供了一个更动态的概述,尤其是在接近测试失败的时候,这也是客户长期以来所追求的。在Squish GUI Tester 7.0中,我们终于实现了这一点。
Squish IDE和Squish命令行界面均提供了以MPEG-4视频的形式记录部分或全部测试的选项。该视频包含在测试结果中,可以在Squish IDE和Test Center中新集成的视频播放器中回放。
用Squish GUI Tester 捕获视频
第一步:在测试脚本中开始和停止视频捕获
作为获得运行AUT桌面视频捕获的第一步,我们需要调整测试脚本,并标记视频捕获的开始和停止位置。
为此,我们在Squish测试API中加入了两个新函数:'test.startVideoCapture' 和 'test.stopVideoCapture'。
您可以在测试脚本中多次插入这些函数,如果需要,可以成对插入(每一个'test.startVideoCapture'都应该有一个对应的'test.stopVideoCapture'),
但最后的'test.stopVideoCapture'除外。
这项是可选的,如果不存在,视频捕获将随着测试执行的结束而自动结束。
在手动编写脚本时,您可以在Squish支持的任何脚本语言中使用这些API函数。但是,录制过程中从IDE控制栏调用这些函数可提供更流畅的用户体验。
在Control Bar的“Insert”菜单中有两个新选项,用于插入视频捕获的起点和终点。有了这两个选项更容易确保成对插入,因为您必须先开始视频捕获,然后才能停止它。
在任何给定的时间内,Control Bar的标题会显示视频捕获是否处于工作状态中。
第二步:通过主动视频捕获回放测试
一旦我们插入了表示测试执行视频捕获的开始和停止点,我们就可以像往常一样使用Squish IDE中的绿色“Replay”按钮。
现在,除了回放记录的用户交互外,Squish将在一个MPEG-4视频文件中捕获AUT和桌面上发生的一切。对每一对"test.start-"和 "stopVideoCapture "命令分割的测试都会有一个视频附件包含在测试结果中。
对于用户使用squishrunner命令行界面的用户和/或使用squishrunner与各种CI工具集成的用户来说,有一种替代方法可以通过视频捕获来回放测试:'--enable-video-capture
当与“--testcase”结合使用时,将会从头到尾捕获所给定测试用例的测试执行。与“--testsuite”结合使用时,同样适用于给定测试套件中的每个测试用例。
最后,提醒一句:由于Squish总是捕获AUT运行的整个桌面,为了避免侵犯隐私,我们建议在启动视频捕获的测试前,关闭所有文档、停止聊天通知,并终止AUT以外任何可能在后台运行的程序。
第三步:查看测试结果中的视频附件
一旦我们用视频捕获回放测试,并获得附带一个或多个视频的测试结果,我们可以在Squish IDE中通过新的基于JavaFX的视频播放器查看这些视频。双击IDE中“Test Results”视图中的任意视频附件打开视频播放器。一个新的IDE视图(标签)打开,视频播放开始。视频播放器包含所有控制视频播放的基本按钮(开始、停止、暂停、快进、倒退),一个滑块可以移动到视频中的任何位置,还有一个简单的设置按钮可以调整视频播放的速度。
为了立即跳转到视频捕获的特定点(例如:跳转到测试失败的发生点),我们增加了GUI控件帮助用户实现它。右键单击“Test Results”视图中所选定的时间点,在右键菜单中选择“Jump to Video at Timestamp” 或在该视图工具栏中选择同名按钮。视频播放器将所选的时间点上以暂停状态打开,这样用户就可以很容易地定位到事件发生前后的情况。
视频播放和测试结果也可以并行查看,默认情况下是相互关联的。滑块在视频播放器中的位置随着用户在结果树中的上下移动而移动,选中的条目会突出显示。同样,随着视频回放的进行,“Test Results” 视图中的高亮位置也会随之移动。
如果您不使用Squish IDE,您可以在Test Center中查看捕获的测试执行视频。
支持平台
视频捕获功能在所有的Squish GUI Tester版本的桌面端(Linux, Windows, macOS),移动端(Android, iOS)和Squish for Web中均可使用。这要归功于与所有Squish二进制包附带的跨平台ffmpeg库。需要通过源代码构建的Squish用户可以在这里阅读如何在他们的平台上启用ffmpeg支持并使用视频捕获功能。
总之,我们希望您喜欢这个功能,并发现捕获GUI测试视频很有用。
4月15日(星期五)下午我们将举办一场相关网络研讨会,推荐石油天然气、医疗设备、工业自动化、EDA、航空航天、汽车等行业的测试工程师、测试经理、和项目经理点击这里了解详情、报名参会。
Squish 7.0中视频捕获 (含相关网络直播研讨会报名信息)相关推荐
- 音视频开发总结之三网络直播技术
一. 直播流程总览 目前主流的直播架构中主要有两种方案,即流媒体转发.P2P.流媒体转发,是一种在视频直播中以流的方式将连续的音.视频数据经编码压缩后传输到流媒体服务器,用户实时从服务器获取流媒体资源 ...
- linux 列出当前视频设备,如何获取Linux(ubuntu)上的视频捕获设备(网络摄像机)列表?(C / C ++)...
小编典典 这是我编写的代码段.大概是一本书.我想您可以遍历所有/ dev / videoN节点并获取信息. #include #include #include #include #include i ...
- ADO.NET 2.0 中的架构
Bob Beauchemin DevelopMentor 适用于: Microsoft ADO.NET 2.0 Microsoft Visual Studio 2005 C# 编程语言 摘要:了解在 ...
- 在 Anaconda3 5.0.0 中安装 Plot.ly Dash
在 Anaconda3 5.0.0 中安装 Plot.ly Dash 安装包 plotly包可以直接在 Anaconda3 5.0.0 中安装 Anaconda3 5.0.0 中不包含 Dash 相关 ...
- WSS 3.0中An unexpected error has occurred的一个解决方案
之前在CodePlex上讨论到我在WSS v3里遇到的一个Bug,CKS团队的TheKid向我引用了他的一个解决方案,大意如下 如果需要了解WSS 3.0中An unexpected error ha ...
- html5 音频事件,HTML5中视频和音频核心事件的相关研究
摘 要: 本文通过对HTML 5中视频和音频重要事件的研究,总结出HTML 5中重要事件在什么时候使用其中重要的相关属性,并以实例利用事件相关属性进行设置,给读者以相应启发. 关键字:HTML 5:视 ...
- 火车头过滤 css样式_HTML5和CSS3过滤器中的网络摄像头视频捕获
火车头过滤 css样式 Webcam Video Capture in HTML5 and CSS3 filters As we know – HTML5 defines a new element ...
- Java正则表达式中的捕获组的概念及相关API使用
要弄清这三个方法,首先要弄清Java正则表达式中的捕获组的概念.捕获组也就是Pattern中以括号对"()"分割出的子Pattern.至于为什么要用捕获组呢,主要是为了能找出在一次 ...
- 自媒体短视频中视频相关的问题总结,涉及视频类型、质量、时长和原创等方面
自媒体短视频中视频相关的问题总结,涉及视频类型.质量.时长和原创等方面 大家好,我是我赢助手,专注于自媒体短视频去水印.去重和文案提取运营! 前几天跟大家分享了我最近在做的一个短视频账号,也就是刚刚开 ...
最新文章
- 朴素、Select、Poll和Epoll网络编程模型实现和分析——Poll模型
- python序列类型包括哪三种映射类型_python序列类型包括哪三种_后端开发
- Masking GAN pytorch
- 这家获得谷歌投资的企业想把亚马逊挑下神坛
- Corodva Could not resolve com.android.tools.build:gradle:3.0.1 解决方法
- 用键盘来操纵鼠标指针(鼠标损坏时的应急措施)
- target tile component.js load logic
- 如何在SAP Cloud for Customer里自定义query
- Module build failed: Error: Missing binding
- IOC操作Bean管理XML方式(P名称空间注入)
- android代码清除锁屏密码,清除Android手机锁屏密码的三个小妙招
- 基于JAVA+SpringBoot+Vue+Mybatis+MYSQL的物资管理系统
- POM (Project Object Model)简介
- 48. Be aware of template metaprogramming
- 分享几个Python小技巧函数里的4个小花招 1
- 《集体智慧编程》笔记(一)
- php 漏洞扫描,10个最佳PHP代码安全扫描程序来查找漏洞
- SOUI使用过程知识点小结1
- 通过app NA渲染后的app source 抓包
- EasyOcr报错 --- [WinError 10054] An existing connection was forcibly closed by the remote host