我在EC2示例上的Ubuntu服务器14.04上安装了jenkins。我使用behave
作为测试运行器执行了一些selenium测试。
在Jenkins上,我还安装了AnsiColor插件,希望我可以在Jenkins控制台上获得颜色输出,但是除了Gherking语法之外,其他所有内容都有颜色。Selenium错误,python调试,所有内容都有颜色......除了behavior的输出。
现在的问题是,如果我在Mac或Ubuntu上运行测试,但不是与Jenkins用户一起运行,一切都很好,颜色也在那里。
我真的没有任何代码可以发布,但我可以说我已经尝试过了:
- 运行行为与
behave --color
- 将AnsiColorPlugin的颜色Map到
formatter/ansi_escapes.py
中的行为转义序列 - 将
#!/bin/bash
添加到jenkins构建脚本中,以确保它不会使用sh
而不是bash
执行
如果这是任何相关的,我使用python 3.4在virtualenv
上
除了实际的答案,任何建议,如何调试这也是欢迎的!谢谢
1条答案
按热度按时间lmyy7pcs1#
阅读
PrettyFormatter
的原始源代码,没有办法强制它使用颜色,因为它使用isatty
来确定它是否正在写入实际的终端。然而,启用颜色输出所需的修改是微不足道的:
https://github.com/mrkafk/behave/commit/5fa2dd3fd1dc7149857df4da156d8fd00f5058a5
我已经创建了pull request,并测试了它在Jenkins中的工作情况(当然是在项目配置中启用解析ANSI代码之后):