赛普拉斯命令日志截断

Cypress Command log truncate

是否可以截断断言方法的命令日志?

我有这样的测试

cy.request('/').its('body').should('contain' 'somestring');

正文包含整个页面 HTML 作为字符串,这会导致 cypress 的命令日志中出现大量污染,从而导致内存问题。如果我想做更多的断言,它会使 cypress 崩溃。

如何截断断言日志,使其不会在断言命令日志中加载整个 body

我已经尝试将 HTML 字符串保存到文件中并读取它,这样我就可以像在普通页面上一样进行断言,但目前,在 Cypress 中似乎无法加载本地文件。

Cherrio 也是我可以用来从 HTML 字符串中检索数据的东西,但我想避免使用它。

根据文档 here,您可以将 { log: false } 传递给请求。 检查上述文档选项部分

抑制日志中冗长的技巧是预先测试条件,

cy.request('http://example.com')
  .its('body')
  .then(body => body.includes('Example'))    // map to a boolean
  .should(result => expect(result, 'Body contains "Example"').to.be.true)

结果

assert    Body contains "Example": expected true to be true