使用Ruby自动将场景名称添加到Selenium中的屏幕截图文件名

时间:2014-09-04 08:12:54

标签: ruby selenium selenium-webdriver capybara

我使用Selenium,用Ruby编写。我已经配置了我的env.rb文件来保存我运行的任何失败测试的屏幕截图。问题是由于文件名是通用的,因此很难确定失败的场景/步骤。我设法使用以下方法为文件名添加时间戳:

After do |scenario|
    if scenario.failed?
       screenshot_file = "screenshot - #{Time.now.strftime('%Y-%m-%d %H-%M-%S')}.png"
       page.save_screenshot(screenshot_file)
     end
end

有没有办法让我可以获取此文件名,同时拉出失败的方案的名称,以便它可以是" scenario#date time.png"?我在网上看到了一些例子,但都没有。

谢谢

1 个答案:

答案 0 :(得分:1)

...
screenshot_file = "screenshot-#{scenario.name}-#{Time.now.strftime('%Y-%m-%d %H-%M-%S')}.png"
...