运行 selenium ruby​​ webdriver 脚本以从命令提示符 ruby​​ 窗口输出文件时如何导出结果

2024-02-07

目前,我通过在“Start Command Prompt with Ruby”终端中使用 rake gem 一次性运行测试套件中的所有 selenium 脚本(由 Selenium Ruby Webdriver 编写)。

为此,我必须创建一个名为“rakefile.rb”的文件,其中包含以下内容,然后在我的终端中调用“rake”:(我根据之前帖子中的人的指导了解了这些知识)。

task :default do
    FileList['file*.rb'].each { |file| ruby file }
end

但如果有一个脚本执行失败,运行就会终止。

有人请帮助指导我如何修改“rakefile.rb”,以便如果一个脚本失败,那么系统将忽略它并继续运行我的测试套件中的下一个脚本?

另外,您能否建议我一种在运行脚本时将所有结果写入一个输出文件的方法?或者将每个脚本的结果放入每个输出文件中,并且输出文件将显示失败的脚本列表。任何帮助表示赞赏。非常感谢。


你可以使用begin and rescue捕获测试脚本中的任何失败。

就像是

begin
 raise "Ruby test script failed"
rescue
 puts "Error handled"
end

在你的情况下会是这样的

task :default do
    FileList['file*.rb'].each { |file| 
    begin
      ruby file
    rescue
      puts "Test script failed because of #{$!}"
    end 
    }
end

并在写入文件时类似于

task :default do
    $stdout = File.new('console.out', 'w')
    $stdout.sync = true
    FileList['*.rb'].each { |file| 
    begin
      ruby file
    rescue
      puts "test script failed because of #{$!}"
    end 
    }
end

它的作用是覆盖 $stdout 以重定向控制台输出。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

运行 selenium ruby​​ webdriver 脚本以从命令提示符 ruby​​ 窗口输出文件时如何导出结果 的相关文章

随机推荐