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