我正在使用create-react-app来构建我的应用程序,而我正在使用cypress进行自动化。
"scripts": {
"build-css": "node-sass-chokidar --include-path ./src --include-path ./node_modules src/ -o src/",
"watch-css": "npm run build-css && node-sass-chokidar --include-path ./src --include-path ./node_modules src/ -o src/ --watch --recursive",
"start-js": "react-scripts start",
"start": "npm-run-all -p watch-css start-js",
"cy:run": "cypress run ,
"cypress:all": "start-server-and-test start http-get://localhost:3000 cy:run"
}
为了运行测试,首先我需要使用npm start
启动我的应用程序然后我可以运行命令npm run cy:run -- --record --key <record-key>
。
相反,我正在做的是运行命令npm run cypress:all
,它将调用npm start
,一旦服务器启动并运行它就会运行测试。但是如何传递此命令的记录标志? npm run cypress:all -- --record <record-key>
在这里不起作用。
除了使用NPM脚本名称之外,您还可以传递整个命令(用引号括起来,使它仍然是单个字符串),这些命令将“按原样”执行。例如,要在运行和记录Cypress.io测试之前启动全局安装的http-server,您可以使用
start-server-and-test 'http-server -c-1 --silent' 8000 './node_modules/.bin/cypress run --record'