使用semaphoreCI在localhost上运行Cypress测试

问题描述

在我的cypress.json中,我将baseUrl配置为@H_502_3@

{
  "baseUrl": "http://localhost:3000"
}

package.json包含@H_502_3@

"scripts": {
    "cy:version": "cypress version","cy:verify": "cypress verify","cy:run": "CYPRESS_baseUrl=http://localhost:3000 cypress run --record --browser chrome","start": "serve --listen ${PORT:-3000}"
  }

semaphore.yml中,我有以下几行@H_502_3@

jobs:
  -name: Execute E2E
   commands:
     - npm start & wait-on http://localhost:3000
     - npm run cy:run

但是由于某种原因,该应用程序无法在localhost:3000上投放,相反,我看到了这一点@H_502_3@

cypress serve

@H_502_3@

如何解决此问题并在localhost:3000上提供应用程序?谢谢。@H_502_3@

解决方法

您可以做一些事情来调试问题:

  1. 您是否在某个地方使用代理,也许作为env变量..?
  2. 检查Cypress代理设置,看看那里是否有东西。
  3. 尝试将端口更改为其他端口。确保使用您知道的端口,以确保其他端口均未使用该端口。您可以使用netstat命令进行检查。
  4. 您的本地主机是运行在http还是https上?

如果我有其他想法,请及时回答。