【发布时间】:2021-09-06 09:22:34
【问题描述】:
我有一个基于文本的用户界面 (TUI) 的程序。想想ncurses。一切都显示在终端中,并且使用了很多 ANSI 转义序列来显示颜色、滚动条、窗口等...
对于单元测试,我想拍摄 TUI 的“屏幕截图”并将它们与预期的屏幕截图进行比较。本质上,单元测试需要运行一个虚拟终端并将输出保存为 png 图像文件。
请记住,这些测试需要在 travis 或 circleci 等无头 CI 系统上运行。我不能简单地运行 gnome-terminal 并使用 gnome-screenshot 截屏。 CI 系统没有运行图形。
如何以编程方式截取“无头”系统上基于文本的用户界面的屏幕截图?
【问题讨论】:
-
使用“screen”命令,如下所述:superuser.com/questions/557300/…
标签: unit-testing terminal screenshot terminal-emulator