上次简单的说了一下ruby+watir的简单应用,这次再来补充一下
UI自动化测试的稳定性没有接口那么稳定,脚本在运行的过程中会出现这样那样的问题,虽然cucumber可以生成测试报告,但是有时候,不能很方便的从测试报告中定位到问题的所在。如果出错时有截图是不是会让定位错误方便点呢?
这次分享一个截图的插件大漠插件:dm.ll
2.注册dm.ll
命令行输入:regsvr32 (dm.dll路径) 如图:
准备工作就绪,开始进行代码部分
导入dm.ll插件,添加触发截图方法;
# encoding: UTF-8
require 'watir'
require 'win32ole'
$dm = WIN32OLE.new('dm.dmsoft') #大漠插件,用于截图
$imgPath = "screenshots/" #截图存放路径
Dir.mkdir($imgPath) unless File.exists?($imgPath)
After do |scenario|
if scenario.failed?
puts addScreenshot("#{Time.now.strftime("%Y%m%d-%H%M%S")}_error")
end
begin
$driver.close()
rescue => exception
end
end
*****************前方高能***广告开始*****************
*****************前方恢复***广告结束*****************
新建common.rb文件,用于存放公共方法
# 截图方法
def addScreenshot(_filename)
if (1 != $dm.CapturePng(0, 0, 5000, 5000, $imgPath + _filename + ".png"))
return "截图出错!"
end
return "<img src=\"#{$imgPath}#{_filename}.png\">"
end
最后根据上篇的步骤,编写并执行脚本,如果脚本出错就会生成截图了!(注意如果选择生成测试报告,就不会有截图生成)