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



感谢赛柏团队。我对命令中的e2e无头测试有一个问题。

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

以下是我运行的命令。

yarn nx run checkout-e2e:e2e --watch

yarn nx run checkout-e2e:e2e --headless

我总共有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')
})
})

我的开发环境:

  • Windows 10
  • VS代码
  • 柏树6.0.1
  • 节点14.16.1
  • 故事书6.2.8

这是无头模式下的错误屏幕截图。https://prnt.sc/131k32j

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

我试着解决了这个问题,终于找到了。

转到plugin/index.js并评论这一行。。。

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

修复无头模式上的e2e测试失败

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

最新更新