如何使用rspec和rails 5.1查看终端中的屏幕截图

时间:2018-01-30 02:51:10

标签: ruby-on-rails rspec ruby-on-rails-5.1

我正在关注此tutorial以使用rails 5.1测试系统规格。如果我故意不通过测试,我会在终端

中获得以下输出
 WARN: Screenshot could not be saved. `page.current_path` is empty.
    F


  Failures:

      1) Homepage shows greeting
         Failure/Error: expect(page).to have_content 'Hello Worlds'
           expected to find text "Hello Worlds" in "Hello World"

         [Screenshot]: tmp/screenshots/failures_r_spec_example_groups_homepage_shows_greeting_506.png



         # ./spec/spec/system/home_spec.rb:10:in `block (2 levels) in <top (required)>'

为屏幕截图指定的文件存在,但屏幕截图未显示在终端中。我可以手动打开屏幕截图,因此正确生成。

如果我输入chromedriver --version,我就会

ChromeDriver 2.35.528157 (4429ca2590d6988c0745c24c8858745aaaec01ef)

我使用的是Chrome版本63.0.3239.132。

如何在Mac OSX上的终端中打开屏幕截图?

1 个答案:

答案 0 :(得分:2)

屏幕截图显示取决于您使用的终端类型和RAILS_SYSTEM_TESTING_SCREENSHOT环境变量。

对于内置终端:

ENV['RAILS_SYSTEM_TESTING_SCREENSHOT'] = 'artifact'

对于iTerm2:

ENV['RAILS_SYSTEM_TESTING_SCREENSHOT'] = 'inline'