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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rails系统测试终端中的截屏垃圾邮件相关的知识,希望对你有一定的参考价值。

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

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

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 ...

等等

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

答案

您看到的输出是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

等等

另一答案

您可以使用禁用终端输出

Capybara::Screenshot::RSpec.add_link_to_screenshot_for_failed_examples = false

以上是关于Rails系统测试终端中的截屏垃圾邮件的主要内容,如果未能解决你的问题,请参考以下文章

Python中的截屏模块 pyscreenshot

百万公众网络学习工程成效测试平台怎么打印成绩

使用java awt最简单的截屏程序

android源码解析(二十六)-->截屏事件流程

一个基于Qt的截屏程序

Qt学习: QPixmap实现的截屏程序代码示例