多浏览器测试对比工具
作者:网络转载 发布时间:[ 2012/11/1 9:58:22 ] 推荐标签:
(3)浏览器截图
截图的时间
当case发起执行时,同时发起另一线程开始截图。当case运行完成或遇到异常结束时,截图停止。配置文件中可设置截图的时间间隔,线程中按指定的时间间隔sleep截图。
截图的方法
由于此工具并不会干涉用户如何操作浏览器,因此对浏览器的截图并没有调用selenium或watinN的相关接口来截图,而是调用windows api来完成的截图。在截图时,先根据此时浏浏览器的类型来得到浏览器窗口的classname,由classname来定位浏览器的父窗口句柄,再枚举子窗口,得到浏览器渲染区的句柄。为了能将渲染区的图清晰地截取出来,在获取了父窗口的句柄后,将窗口大化且置为HWND_TOPMOST。由 winApi中的GetWindowRect根据渲染区的句柄得出渲染区的屏幕坐标区域,再对此区域进行屏幕截取。
由于chromefirefox存在不同程度打开一个应用程序,出现多个classname相同的窗口的情况,因此在获取chrome与firefox句柄的细节方面,还加了title过滤等处理。
截图的对比
图像的对比的方法较多,领域也很深,笔者找到了一个基于图像直方图来对比相似度的方法,觉得能有一些参考价值。此方法将两个图像各切分为64个小方格,每个方格提取直方图,对比相似度后,取相似度的平均值做为总的图像相似度。
笔者将baidu上搜索hahaxixi的自动化case放入多浏览器工具中,选择在ie6ie8firefox3.6下运行,人眼看到的截图基本一致,得到的对比结果是,ie6.0与firefox3.6下截图的相似度为83.949%,ie6.0与ie8.0的截图相似度为82.233%。
4. 关于运用
此工具刚开发完成,目前是在测试时使用了一些web自动化case在运行。此后准备先在创意专家项目组来实验并完善此工具。
由于工具的使用比较简单,用户只需将可执行的自动化case及配置文件传入ftp即可,由工具自动地完成case的分发、执行、截图与结果收集。若运行得比较顺畅,用户可在持续集成中采用此工具做兼容性检查的daily run。不过,此工具对用户自动化用例的要求会高一些,用例能成功运行的浏览器类型,还取决于用户自身的web case所使用的执行引擎。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11