赛普拉斯 CLI 控制台输出不太可读

Cypress CLI console output not very readable

我是 运行 cypress 无头测试,希望控制台输出更具可读性。目前,我得到一个非常混乱的输出,如下所示。根据文档,它应该使用 Mocha SPEC 报告器布局。谁能告诉我需要做什么才能使此输出可读?

我是运行./node_modules/.bin/cypress run

Started video recording: ←[36mC:\code\website\ui\cypress\videos\vf7hm.mp4←[39m

←[90m  (←[4m←[1mTests Starting←[22m←[24m)←[39m

←[0m←[0m
←[0m  My First Test←[0m
  ←[32m  ΓêÜ←[0m←[90m Gets, types and asserts←[0m←[31m (18965ms)←[0m


←[92m ←[0m←[32m 1 passing←[0m←[90m (21s)←[0m


←[32m  (←[4m←[1mTests Finished←[22m←[24m)←[39m

←[37m  - Tests:           ←[39m←[32m1←[39m
←[37m  - Passes:          ←[39m←[32m1←[39m
←[37m  - Failures:        ←[39m←[32m0←[39m
←[37m  - Pending:         ←[39m←[32m0←[39m
←[37m  - Duration:        ←[39m←[32m20 seconds←[39m
←[37m  - Screenshots:     ←[39m←[32m0←[39m
←[37m  - Video Recorded:  ←[39m←[32mtrue←[39m
←[37m  - Cypress Version: ←[39m←[32m1.4.2←[39m


←[36m  (←[4m←[1mVideo←[22m←[24m)←[39m

  - Started processing:   ←[36mCompressing to 32 CRF←[39m
  - Finished processing:  ←[36mC:\code\website\ui\cypress\videos\vf7hm.mp4←[39m ←
[90m(1 second)←[39m


←[90m  (←[4m←[1mAll Done←[22m←[24m)←[39m

据我所知,这是 Cypress 的 Windows 输出中的一个问题:https://github.com/cypress-io/cypress/issues/1143

可能是两个问题:


  1. Cypress 使用的是 ANSI 颜色,Jenkins 未配置为转换它。

修复:安装这样的插件:https://plugins.jenkins.io/ansicolor/


  1. 编码可能不是 UTF-8(虽然看起来你的是,其他人可能不是)

修复:

  • 导航:Manage Jenkins => Configure System => Global Properties
  • 添加环境变量:
JAVA_TOOL_OPTIONS
-Dfile.encoding=UTF-8

乱七八糟的输出是因为 Cypress 使用 ANSI 颜色转义字符来格式化输出,而您的日志 viewer/console 无法理解。可以通过设置环境变量NO_COLOR:

来禁止ANSI颜色控制字符的输出

NO_COLOR=1 cypress run

https://docs.cypress.io/guides/continuous-integration/introduction#Colors

这是在 Cypress 3.0.0, released on 5/29/2018 中添加的。

我遇到了同样的问题,而且我无法将 ANSI 颜色插件添加到我的 Jenkins,所以我只是在测试用例之前添加了 NO_COLOR=1 运行 命令如下:

NO_COLOR=1 npx cypress run

将此代码添加到我的命令中解决了我的问题,这是一种简单的方法,您甚至不需要添加任何其他插件。