我们有一个服务的前端应用程序,我们希望在CI服务器上对其进行e2e测试。最好的方法是什么?
整个测试应在非gui CI上运行,并且可以通过单个命令执行。
我想到的是这样的:
concurrently "npm run serve" "npx cypress run"
但是,这似乎增加了巨大且不必要的开销。另外,我必须以某种方式确保在实际投放应用之前不会执行测试。
答案 0 :(得分:1)
如Cypress continuous integration docs中所述,您可以使用一个名为wait-on的npm软件包来等待服务器,然后再运行Cypress:
npm run serve & # run this in the background
wait-on http://localhost:8000 && npm run cypress
答案 1 :(得分:0)
不是一个确定的解决方案,只是一些想法。我们正在使用bash脚本,该脚本会导致使用一个命令启动测试。在该bash脚本中,我们有以下内容:
# environment variables
export HOME=${PWD}
yarn install
./node_modules/.bin/cypress install
./node_modules/.bin/cypress verify
./node_modules/.bin/cypress run ${SMOKETEST}