将水豚截图保存到功能文件夹

时间:2018-11-15 10:17:41

标签: ruby automated-tests cucumber capybara

使用Capybara运行测试时,我想将失败步骤的屏幕截图保存到功能特定的文件夹中。我当前的Capybara保存路径如下:

Capybara::save_path = "./screenshots"

我想要保存的是

Capybara::save_path = "./screenshots/<feature_name>

我正在将Cucumber用于我的测试框架

2 个答案:

答案 0 :(得分:0)

在路径内写入参数的方法如下:

Capybara::save_path = "./screenshots/#{feature_name}"

答案 1 :(得分:0)

我想出了办法:

Capybara::save_path = "./screenshots"
Capybara::Screenshot.register_filename_prefix_formatter(:cucumber) do |example|
  "/#{example.feature.name.gsub(' ', '-').gsub(/^.*\/spec\//,'')}/screenshot_#{example.name.gsub(' ', '-').gsub(/^.*\/spec\//,'')}"
end

这会导致格式正确的屏幕截图存储在其中 screenshots/<feature>/<scenario>_2018-01-01