在Jenkins上Behave test runner没有彩色输出

我已经在EC2实例的Ubuntu服务器14.04上安装了jenkins。 我有一些硒测试,我执行使用behave作为测试跑步者。

在Jenkins上,我还安装了插件AnsiColor,希望能够在jenkins控制台上获得颜色输出,但除了Gherking语法外,其他所有内容都可以使用颜色。 硒错误,python调试,一切都有颜色... 除了行为的输出。

现在的事情是,如果我在Mac或Ubuntu上运行测试,但不与Jenkins用户一起运行,那么一切正常,颜色在那里。

我真的没有任何代码发布,但我可以说我曾试图无效:

  • 跑步表现 - behave --color
  • 将AnsiColorPlugin的颜色映射映射到在formatter/ansi_escapes.py找到的行为转义序列
  • 添加#!/bin/bash给jenkins构建脚本以确保它不会用sh而不是bash执行
  • 如果这与任何相关我在virtualenv上使用python 3.4

    除了实际的答案之外,任何关于如何调试的建议都是值得欢迎的! 谢谢


    阅读PrettyFormatter原始源代码,没有办法强制它使用颜色,因为它使用isatty来确定它是否写入实际终端。

    但是,启用彩色输出的必要修改是微不足道的:

    https://github.com/mrkafk/behave/commit/5fa2dd3fd1dc7149857df4da156d8fd00f5058a5

    我创建了拉取请求并测试它在Jenkins中工作(在课程的项目配置中启用了解析ANSI代码之后):

    在这里输入图像描述

    链接地址: http://www.djcxy.com/p/27031.html

    上一篇: Behave test runner has no colored output on Jenkins

    下一篇: Unexpected performance with global variables