假设该自动测试框架的原日志方案已经具有生成文本日志和截图的功能,我们将在它的基础上进行改进和优化,使之具有生成伪视频日志的新特性。
图三阐述了改进方案的基本工作步骤:
测试人员启动某自动测试脚本script1的运行;
自动测试脚本script1进行初始化工作,并创建缓冲区screenshotsPool来储存测试过程中捕获的截图;
自动测试脚本script1按既定逻辑顺序执行;
与此同时,缓冲区screenshotsPool正独立运行,以固定频率不断地截取屏幕图像;
如果缓冲区到达最大容量,较早的截图会在存入新图前被删去;
一旦自动测试发生错误,script1会通知screenshotsPool有错误产生;而后screenshotsPool搜集所有缓冲截图,立即生成动态图片(伪视频);
Script1的自动测试结束;
图三: 改进方案的时序图
本例中给出的代码主体ScreenshotsPool将以线程的形式运行,独立于自动测试脚本的回放,因此实现了Runnable接口中的run()方法。(见图四)
此外,还包括了其它必要的属性,方法来完成截图、储存、生成伪视频等操作,以及相关设置。后面会做详细介绍。
在每个RFT脚本的初始化方法中,可以同时创建一个ScreenshotsPool对象,用以对脚本自动回放过程进行监控。
图四: 改进方案的类图
新方案关键代码解释
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/