public void run()
{
while(true)
{
try
{
//将当前屏幕的截图存入缓冲区
pushScreenshot();
//睡眠一段时间
Thread.sleep(new Double(1000*this.snapInterval).longValue());
//查看错误标识,一旦有错
if(errorFlag)
{
//立即生成伪视频
generatePseudoVideo();
//复位错误标识
errorFlag = false;
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
run()方法是该线程的主要方法,通过轮询方式监测错误标识。如果在自动测试脚本在运行过程中有错误发生,它会将错误标识设为true;run()方法侦测发现该标识后,在第一时间内生成伪视频,再对错误标识进行复位。
五、总结
新的日志方案在原有方案的基础上进行了重构,对错误后截图的功能加以萃取和改进,使原有日志系统在不追加任何软硬件投资的前提下,能生成具有类似功能的伪视频。测试人员能够直观地了解自动测试过程,快速定位测试脚本或软件缺陷导致的错误成因,从而高效地优化测试脚本或填写测试报告。
本例给出的实现使用了GIF格式的动态图片作为生成的伪视频,读者可以按照类似方法,生成诸如SVG,PNG等其它格式的动态图片来再现测试过程。
对于新日志系统中的各种各样的表现形式:文本日志、截图、以及伪视频,可以使用HTML格式统一展现,有概况有明细,通过超链接将众多日志内容组织在一起,让日志系统能更加友好方便地供测试人员查阅。
文章来源于领测软件测试网 https://www.ltesting.net/