【问题标题】:Monitor console output of websites in Cypress.io在 Cypress.io 中监控网站的控制台输出
【发布时间】:2019-10-09 20:41:18
【问题描述】:

我正在使用 Cypress.io 来测试我们的新应用程序(Node、React),但我希望能够监控和检查网站的 console.log 输出,以了解没有通过我们的标准明确捕获的任何错误测试。

我希望这不仅可以用于捕获不应添加到生产就绪代码中的杂散 console.log 命令,还可以捕获来自我们任何依赖项的弃用和警告。

请告诉我这是否可以实现,如果可以,我会怎么做?

谢谢,克里斯。

【问题讨论】:

    标签: javascript node.js automated-tests cypress


    【解决方案1】:

    查看这个用于赛普拉斯的插件,它将所有浏览器日志打印到标准输出:

    https://github.com/flotwig/cypress-log-to-output

    它仅适用于 Chrome,因此只需确保您的 CI 设置为使用 Chrome,并且您也在本地使用 Chrome。

    【讨论】:

    • 谢谢。这似乎完成了我需要它的一半工作,而且我并不担心它不能在 Elecron 浏览器上运行,因为我们的浏览器目标是 Chrome。我将对此进行调查,看看我是否可以使用它。
    • 它应该记录所有内容,包括浏览器消息,所以如果它没有按预期工作,请告诉我:)
    【解决方案2】:
      let spyErrorLog;
      before(() => {
        Cypress.on("window:before:load", (win) => {
          spyErrorLog = cy.spy(win.console, "error");  // can be: log, warn
        });
      });
    
      after(() => {
        expect(spyErrorLog).not.to.be.called;
      });
    

    来自 看这里Check if an error has been written to the console

    https://docs.cypress.io/faq/questions/using-cypress-faq#How-do-I-spy-on-console-log https://docs.cypress.io/examples/examples/recipes#Stubbing-and-spying

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多