cypress - 从命令行运行 cypress 时,Git for Windows bash 中出现奇怪的字符

标签 cypress git-for-windows

我使用 cypress 进行测试自动化,当从 Git for Windows bash 终端运行测试规范时,我在结果输出中得到奇怪的字符:

cypress 规范在 Windows bash 的 Git 中运行 -

screenshot

如果我从 Windows 命令提示符运行 cypress,输出字符是正确的:

cypress 规范在 Windows 命令提示符中运行 -

screenshot

我使用的是 Windows 7、cypress 5.1.0 和 Git for Windows 2.28.0 以及 mintty 3.2.0

关于如何纠正这个问题有什么想法吗?

最佳答案

The issue is described in this GitHub issue .

问题是 Cypress 通过其 stdout 发送 UTF-8 编码的文本,该文本在被 Mintty 接收之前被 Windows 破坏(Mintty 是托管 bash 并运行的) Windows 上的 git)。

据我了解,Mintty 尚未指示 Windows 不要破坏它处理的 stdout - (但是 cmd.exe 确实如此,这就是它在那里工作的原因) - 但我们可以通过使用 chcp 程序(位于 C:\Windows\System32\chcp.com ,是的,这就是.com,而不是 .exe)。您可以将命令添加到您的 .bashrc 文件中,这样当您启动 Mintty 时它就会始终运行:

  1. 在 Windows 上打开 mintty - 这可能会启动 bash shell。

  2. 转到您的主目录(即 cd ~)

  3. 打开或创建 .bashrc 文件。

  4. 将其放入文件中(根据需要更新 chp.com 程序的路径):

    /c/Windows/System32/chcp.com 65001
    
  5. 然后重新启动终端窗口,它应该可以工作。

关于cypress - 从命令行运行 cypress 时,Git for Windows bash 中出现奇怪的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63841282/

相关文章:

javascript - 如何使用 Cypress 获取 javascript 弹出窗口中的内容?

mintty - 如何在 Windows 版 Git 中升级 MinTTY

javascript - 是否有可能用柏树验证阻塞字段?

windows - 在 Git for windows "git bash"中,如何使用 cmd 和 Windows 资源管理器使用的 Windows 路径格式中的 "print working directory"?

registry - 如何从文档中的菜单上下文中删除 git?

git - 为什么 Git for Windows helper = manager 无法在新机器上运行?

git - 无法覆盖 C :\Program Files\Git\etc\ssh

google-chrome - Cypress:如何访问不同来源的网址?

vue.js - Cypress 组件测试不适用于可组合的 VueUse - "ref is not defined"

javascript - 如何使用 cypress v10 注册 cypress `code-coverage` 插件?