Cypress Electron 控制台日志格式模式

问题描述 投票:0回答:1

如何简化我的 cypress-electron 控制台输出以获得更好的可读性而不包含时间戳和源?

我正在像这样开始我们的 cypress 无头测试:

@SET ELECTRON_ENABLE_LOGGING=true 
@SET DEBUG=cypress:electron
@SET CYPRESS_BASE_URL=http://127.0.0.1:15002
npx cypress run --spec "cypress/e2e/01_base.cy.js"

我得到的输出:

[18816:0226/074643.800:INFO:CONSOLE(85)] "mylog message 1", source: http://127.0.0.1:15002/__cypress/tests?p=cypress\support\e2e.js (85)
[18816:0226/074644.607:INFO:CONSOLE(82)] "mylog message 2", source: http://127.0.0.1:15002/editor/webChannel.js (82)

我想得到的输出:

mylog message 1
mylog message 2

我发现了 https://www.npmjs.com/package/electron-log#transporthttps://github.com/megahertz/electron-log/blob/feaf2f30a74e4c5c809de992296baf0198a6cd66/docs/transports/format.md

但是我在哪里可以设置正确的上下文

log.transports.console.format = '{text}';

理想情况下会有一个环境变量来设置格式字符串,但我找不到!

编辑:消息是由客户端应用程序(在电子中运行)发送的,而不是从 cypress 测试中发送的!

提前谢谢!

logging electron cypress
1个回答
0
投票

似乎适用于简单日志的一种方法是通过节点进程、任务来

console.log()

cypress.config.js

const { defineConfig } = require("cypress");

module.exports = defineConfig({
  e2e: {
    setupNodeEvents(on, config) {
      on("task", {
        log(message) {
          console.log(message);
          return null;
        }
      })
    },
  },
})

我的POC测试:

it('logging to console', () => {
  console.log('mylog message 1')
  console.log('mylog message 2')
  cy.task('log', 'mylog message 3')
  cy.task('log', 'mylog message 4')
})

© www.soinside.com 2019 - 2024. All rights reserved.