Watir - 显示在浏览器上执行脚本时的步骤以及如何从所有脚本生成报告 1)日志文件中每个脚本的步骤 2)总共没有脚本通过和失败 示例总脚本100 通过90失败10
答案 0 :(得分:0)
关于如何记录执行步骤的第一个问题,由于我尚不确定如何记录STDIN,因此这与我的回答很接近。因此,此 logger 与您的 put 评论一样好。
require 'watir'
begin
time_now = Time.now.strftime("%y.%d.%m.%H:%M.%S")
log_file_name = "log_for_script_#{time_now}.log"
File.write(log_file_name, "")
$stderr.reopen log_file_name
$stdout.reopen log_file_name
b = Watir::Browser.new
puts "Browser is opened #{b.exists?}"
b.goto "www.google.com"
puts "Navigate to google, title #{b.title}"
b.text_field(:id => "lst-ib").set "logging stuff hopefully"
puts "setting search parameters "
puts "and now error"
asdasd
rescue => e
puts "error happened: #{e.backtrace.inspect}, #{e.class}, #{e.message}"
File.rename(log_file_name, 'FAILED_' + log_file_name)
ensure
b.close unless b.nil?
end
如果您的脚本需要更详细的日志,我想您可以利用chromedriver / geckodriver日志,因此,请联系我们。
您的第二个问题可以通过多种方式来完成,具体取决于您如何运行/组织watir脚本。如果您将脚本保存在文件/目录中,则可以制作另一个ruby脚本来执行目录中的每个文件,完成后,对失败的日志进行计数,因为失败时会重命名它们。
File.rename(log_file_name, 'FAILED_' + log_file_name)
如建议的那样,您可以使用一种涵盖为您进行日志记录的测试框架,但员工并不总是这样。