使用--watch选项进行Cypress/Next.js E2E测试效果良好,但使用--headless失败

使用--watch选项进行Cypress/Next.js E2E测试效果良好,但使用--headless失败,next.js,cypress,e2e-testing,headless,Next.js,Cypress,E2e Testing,Headless,感谢赛普拉斯团队。 我有一个关于e2e无头测试的问题 当我使用--watch选项运行测试时,它通过得很好。 但对于无头选项来说,它是失败的。 我需要在CI上运行此操作,因此它必须尽快解决此问题 下面是我运行的命令 纱线nx运行签出-e2e:e2e-观察 纱线nx运行检验-e2e:e2e——无头 我一共有3个测试文件,具体的是第一个测试在长时间延迟(大约60秒)后没有通过,但是其余的都通过了 这里有一个要运行的代码文件。 其他文件几乎相同 const classname = 'buybox--bu

感谢赛普拉斯团队。 我有一个关于e2e无头测试的问题

当我使用--watch选项运行测试时,它通过得很好。 但对于无头选项来说,它是失败的。 我需要在CI上运行此操作,因此它必须尽快解决此问题

下面是我运行的命令

纱线nx运行签出-e2e:e2e-观察

纱线nx运行检验-e2e:e2e——无头

我一共有3个测试文件,具体的是第一个测试在长时间延迟(大约60秒)后没有通过,但是其余的都通过了

这里有一个要运行的代码文件。 其他文件几乎相同

const classname = 'buybox--buy-box-example-one-size'
const url = `?path=/story/${classname}`

describe('BuyBox Example visual regression', () => {
  it('Matches the snapshot', () => {
    cy.visit(url)
    cy.viewport(1000, 1500)
    cy.get(`#${classname}`)
    cy.get('body').type('S')
    cy.get('body').type('A')
    cy.wait(3000)
    cy.get('body').matchImageSnapshot('buyboxOneSizeDesktopExample')
    cy.viewport(375, 667)
    cy.get(`#${classname}`)
    cy.get('body').type('S')
    cy.get('body').type('A')
    cy.wait(5000)
    cy.get('body').matchImageSnapshot('buyboxOneSizeExample')
  })
})
我的开发环境:

  • 视窗10
  • VS代码
  • 柏树6.0.1
  • 节点14.16.1
  • 故事书6.2.8
这是无头模式下的错误屏幕截图。

如果有人知道原因和解决方法,请回复。
谢谢。

我试图解决这个问题,最后终于找到了

转到plugin/index.js并对这行进行注释

 // on('file:preprocessor', preprocessTypescript(config))

我不知道为什么这对我有效,但我希望这对每个有同样问题的人都有帮助。 如果有人知道这个解决方案的原因,请在这里发表评论。 谢谢