如何在 Cypress Desktop 上隐藏成功的断言日志,但显示失败的断言日志?

use*_*183 3 logging cypress

我一直想知道如何在 Cypress Desktop (npx cypress open) 上隐藏成功的断言日志,但显示失败的断言日志? 赛普拉斯用户界面

我一直在 stackoverflow (类似的问题)、文档中搜索,我发现的关闭文档只是CYPRESS_NO_COMMAND_LOG=1. 但是,这不是我所期待的结果。因为当我这样做时,它只是最小化运行程序,实际上并没有运行我的测试用例。因此,所有断言都没有结果。

Tes*_*ick 5

断言.should()使用Cypress.log()方法输出消息

这是用于控制打印内容的内部 API到命令日志的

在编写您自己的自定义命令时很有用。

所以你可以用它来过滤掉传递的断言。


在以下示例中,<h1>文本内容已成功断言,但日志被抑制。

const originalLog = Cypress.log
Cypress.log = (log) => {
  if (log.name === 'assert' && log.passed === true) return
  originalLog(log)
}

cy.visit('https://example.com')
cy.get('h1')
  .should('have.text', 'Example Domain')
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如果我添加第二个失败的断言,则会记录详细信息

cy.get('h1')
  .should('have.text', 'Example Domain')
  .and('have.text', 'Cypress')
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述