diff --git a/package.json b/package.json index 801b677507f58ada457870fb1e29ee46d6d9f1d9..41c882643e870e0cce4891ae50c69c4842bae139 100644 --- a/package.json +++ b/package.json @@ -11,8 +11,8 @@ "ng": "cd . && \"node_modules/.bin/ng\"", "postinstall": "./node_modules/.bin/webdriver-manager update --gecko=false --versions.chrome=107.0.5304.110", "lint": "eslint -c .eslintrc.js --ext .ts src", - "e2e": "node scripts/check-translations.js && { npm run start & sleep 180 ; } && ./node_modules/.bin/wdio run ./wdio.conf.ts", - "e2equick": "node scripts/check-translations.js && ./node_modules/.bin/wdio run ./wdio.conf.ts", + "e2e": "node scripts/check-translations.js && bash scripts/run_e2e-tests.sh", + "e2equick": "./node_modules/.bin/wdio run ./wdio.conf.ts", "monkeytest": "npm run ng -- e2e --dev-server-target= --suite=monkeyTest --webdriver-update=false", "mkdocs": "bash scripts/prepare_mkdocs.sh; cd build; python3 -m mkdocs build -f mkdocs-fr.yml && python3 -m mkdocs build -f mkdocs-en.yml && cd .. && node scripts/mkdocs-postprocess.js", "mkdocs2pdf": "node scripts/extract-nghyd-version.js build/cassiopee_version.tex && python3 scripts/mkdocs2pdf.py && node scripts/mkdocs2pdf-postprocess.js && bash scripts/check-pdf-docs.sh", diff --git a/scripts/run_e2e-tests.sh b/scripts/run_e2e-tests.sh new file mode 100644 index 0000000000000000000000000000000000000000..647c64bb31b135beb3798bf7429c9a754162ccc6 --- /dev/null +++ b/scripts/run_e2e-tests.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash + +# Inspired from https://stackoverflow.com/a/25042323/5300212 +# How to run e2e test after serving the app + +# Start the web app +npm start & +NG_SERVE_PID=$! + +echo "**************************************************************************" +echo "Just in case... Use kill -9 -${NG_SERVE_PID} to kill the server if something goes wrong" +echo "**************************************************************************" + +# Wait for http response 200 on port 4200 +response=0 +while [ "$response" != "200" ]; do + response=$(curl --write-out '%{http_code}' --silent --output /dev/null 127.0.0.1:4200 || echo 0) + sleep 5; +done + +# Run wdio +npm run e2equick + +# Cleanup daemon processes +kill -9 -$NG_SERVE_PID