【问题标题】:How to view screenshot in terminal with rspec and rails 5.1如何使用 rspec 和 rails 5.1 在终端中查看屏幕截图
【发布时间】:2018-01-30 02:51:10
【问题描述】:

我正在关注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)

我使用的是 63.0.3239.132 版本的 Chrome。

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

【问题讨论】:

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


    【解决方案1】:

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

    对于内置终端:

    ENV['RAILS_SYSTEM_TESTING_SCREENSHOT'] = 'artifact'
    

    对于 iTerm2:

    ENV['RAILS_SYSTEM_TESTING_SCREENSHOT'] = 'inline'
    

    【讨论】:

    • 我使用的是标准终端,我尝试了这个,将ENV['RAILS_SYSTEM_TESTING_SCREENSHOT'] = 'artifact' 放在 config/application.rb 中,但没有帮助。
    • 我在不同的应用程序中尝试过,我收到一个额外的警告,指出``` 警告:无法保存屏幕截图。 page.current_path 为空。```。尽管实际上保存了屏幕截图文件。我已编辑原始问题以添加此信息。
    猜你喜欢
    • 2014-03-31
    • 2021-12-30
    • 1970-01-01
    • 2016-09-25
    • 1970-01-01
    • 2016-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多