我有一个服务器,它在 OpenShift 上为多个应用程序运行 cypress 项目。它设法毫无问题地运行测试规范,但最近一个应用程序的测试规范发生了一个奇怪的问题。
在此应用程序中,每个规范都有一个 beforeEach
方法,用于执行以下操作:
cy.visit('/', { failOnStatusCode: false })
cy.url().should('eq', Cypress.config().baseUrl + '/')
我知道这个断言非常多余,没有多大意义,但这些是我们从其中一个应用程序中获得的规范。
当我们在本地运行此规范时,断言毫无问题地通过。当我们在服务器上运行这个规范时,我们得到以下错误(为了这个例子,我更改了应用程序 URL):
AssertionError: Timed out retrying: expected 'https://www.google.com/'
to equal 'https://www.google.com//`
如您所见,断言失败是因为额外的 /
以某种方式添加到断言中。这很奇怪,因为这个确切的断言在本地传递,而不是在服务器上传递。任何想法为什么?
baseUrl
值为 https://www.google.com
我使用的是 Cypress 6.0.0