Rails系统测试终端中的截屏垃圾邮件

时间:2018-02-13 15:34:51

标签: ruby-on-rails terminal capybara

这是我关于堆栈溢出的第一个问题所以你可能不得不忍受我!

我正在我的应用程序中运行一些系统测试,每当测试失败时,它会截取屏幕截图,但似乎也会粘贴某种编码文件名,例如:

https://pastebin.com/eHKVUVui(粘贴时间太长,请参阅链接)

[Screenshot]: tmp/screenshots/failures_test_Admin_permissions.png ]1337;File=name=ZmFpbHVyZXNfdGVzdF9BZG1pbl9wZXJtaXNzaW9ucy5wbmc=;height=400px;inline=1:iVBORw0KGgoAAAANSUhEUgAABW4AAAM6CAYAAAAR+9rFAAAgAElEQVR4nOzde3zT5d3/8VfapoXQktIGaDi0YAEr0E2CWuQujDook+KGOtRxT3E/1N243aDzMJzKdqO7xdNU3OzthM2qQ5E5mROmBVfFilQlqOVQ6ao2HMIhLYSW0DZt8/ujFJombdO0QNX38/HYY3p9872+Vw6F+s7n+7kMtbW1PkRERERERERERESkW9XU1IR9bkQ3rkNEREREREREREREuoGCWxEREREREREREZEeRsGtiIiIiIiIiIiISA+j4FZERERERERERESkh1FwKyIiIiIiIiIiItLDKLgVEREREREREREROcNee+21do8ruBURERERERERERE5g5pD2/bCWwW3IiIiIiIiIiIiImdI67C2rfBWwa2IiIiIiIiIiIjIGdBWSBts ...

我想在我的终端中阻止这个垃圾邮件,但继续让它为我截取屏幕截图,有没有办法做到这一点?

2 个答案:

答案 0 :(得分:0)

您看到的输出是Rails尝试在终端中显示实际的屏幕截图。您的终端似乎无法/配置为显示图像。此行为可通过几个环境变量控制 - https://github.com/rails/rails/blob/5-1-stable/actionpack/lib/action_dispatch/system_testing/test_helpers/screenshot_helper.rb#L58

通过将其中一个环境变量设置为“简单”,可以防止Rails将图像输出到终端,这一点

RAILS_SYSTEM_TESTING_SCREENSHOT=simple bundle exec rspec

答案 1 :(得分:-1)

您可以使用

禁用终端输出
Capybara::Screenshot::RSpec.add_link_to_screenshot_for_failed_examples = false