我试图在由 cypress-mochawesome-reporter 生成的 HTML 报告中获得良好的执行日志。我发现 cypress-terminal-report 与它集成。
所以我在
e2e.ts
中这样做了:
import "cypress-mochawesome-reporter/register"
afterEach(() => {
cy.wait(50, { log: false }).then(() =>
cy.addTestContext({
title: "Execution log",
value: Cypress.TerminalReport.getLogs("txt"),
})
)
})
const logsCollectorOptions = {
collectTypes: ["cy:command", "cy:log"],
}
require("cypress-terminal-report/src/installLogsCollector")(logsCollectorOptions)
这在
cypress.config.ts
中,在setupNodeEvents
代码块内:
require("cypress-terminal-report/src/installLogsPrinter")(on)
require("cypress-mochawesome-reporter/plugin")(on)
在 HTML 报告中,日志行如下所示:
cy:command (K): click
cy:command (X): contains Peter
第一行是通过,第二行是失败。我想把它们看成这样:
cy:command (✔️): click
cy:command (❌): contains Peter
我该怎么做?
愚蠢的我,这很容易。只需将上面代码中的
value
行替换为:
value: Cypress.TerminalReport.getLogs("txt")
.replaceAll("(K): ", "(✔️): ")
.replaceAll("(X): ", "(❌): "),