我正在使用browserstack进行一些自动跨浏览器测试,并且针对多个浏览器执行rake任务的功能测试,如下所示:
namespace :spec do
desc "Run Selenium and record results to BrowserStack"
task :browser_testing_demo => [:environment] do
BROWSERS.keys.each do |browser_name|
puts "Cross browser testing against #{browser_name}."
Rake::Task["browser_testing_demo:#{browser_name}"].execute
end
end
end
namespace :browser_testing_demo do
BROWSERS.keys.each do |browser_key|
RSpec::Core::RakeTask.new("#{browser_key}_run".to_sym) do |t|
t.pattern = 'spec/cross_browser/cross_browser_ui_spec.rb'
end
desc "Run rspec against #{BROWSERS[browser_key]['browser']} #{BROWSERS[browser_key]['browser_version']}"
task browser_key do
ENV['BROWSER_TASK_NAME'] = browser_key
Rake::Task["browser_testing_demo:#{browser_key}_run"].execute
end
end
end
浏览器只是一个导入的json文件,其中包含我感兴趣的不同浏览器配置。这非常有效(与browserstack连接,运行测试,并记录所有浏览器的屏幕截图),前提是没有错误。问题是发生故障或其他错误。这会导致rspec转储结果(“Failed exaples:...”)并且下一个rake任务没有开始。有什么方法可以阻止这种行为的发生?
(我在各个地方尝试过救援模块无济于事。我想可能有一个我可以设置的rspec配置?)
答案 0 :(得分:0)
我可以通过将此行添加到我的RSpec.configure块来执行此操作:
config.failure_exit_code = 0