#!/usr/bin/env bash
set -euo pipefail
-chromedriver --url-base=/wd/hub --port=4444 &
+# Check the command before running in background so
+# that it can actually fail and have a descriptive error
+hash chromedriver
+chromedriver --url-base=wd/hub --port=4444 &
+CHROME_DRIVER_PID=$!
+echo chromedriver running with PID $CHROME_DRIVER_PID
# Make sure it is killed to prevent file descriptors leak
function kill_chromedriver() {
- killall chromedriver > /dev/null
+ # Use kill instead of killall to increase chances of this working on Windows
+ kill $CHROME_DRIVER_PID > /dev/null
}
trap kill_chromedriver EXIT
npm run selenium-test