Skip to content

Commit f058939

Browse files
committed
The new and improved Grid Node starter
1 parent 5ab18b2 commit f058939

File tree

1 file changed

+72
-0
lines changed

1 file changed

+72
-0
lines changed

integrations/selenium_grid/grid-node

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
#!/usr/bin/env bash
2+
3+
#
4+
# Usage: grid-node {start|stop}
5+
#
6+
7+
source $(dirname $0)/util
8+
9+
EXPECTED_ARGS=1
10+
E_BADARGS=65
11+
12+
DO_showUsage() {
13+
echo "Usage: $(basename $0) {start|stop}"
14+
exit $E_BADARGS
15+
}
16+
17+
if [ $# -ne $EXPECTED_ARGS ]; then
18+
DO_showUsage
19+
fi
20+
21+
################################################################################
22+
23+
WEBDRIVER_SERVER_JAR=./selenium-server-standalone.jar
24+
WEBDRIVER_NODE_PARAMS="-role webdriver -hubHost 127.0.0.1 -hubPort 4444 -host 127.0.0.1 -browserName=firefox"
25+
WEBDRIVER_NODE_PIDFILE="/tmp/webdriver_node.pid"
26+
27+
if [ ! -f $WEBDRIVER_SERVER_JAR ]; then
28+
echo "You must place the Selenium-WebDriver standalone JAR file at ${WEBDRIVER_SERVER_JAR} before proceeding."
29+
exit 1
30+
fi
31+
32+
case "$1" in
33+
start)
34+
echo "Starting Selenium-WebDriver Grid2 node..."
35+
if [ -f $WEBDRIVER_NODE_PIDFILE ]; then
36+
echo "${FAIL_MSG} Selenium-WebDriver Grid2 node already running with PID $(cat $WEBDRIVER_NODE_PIDFILE). Run 'grid-node stop' or 'grid-node restart'."
37+
exit 1
38+
else
39+
START_NODE_CMD="java -Djava.util.logging.config.file=test/logging.properties -jar ${WEBDRIVER_SERVER_JAR} ${WEBDRIVER_NODE_PARAMS}"
40+
$START_NODE_CMD &
41+
PID=$!
42+
echo $PID > "${WEBDRIVER_NODE_PIDFILE}"
43+
echo "${SUCCESS_MSG} Selenium-WebDriver Grid2 node started successfully."
44+
echo "To see full log output, remove the java.util.logging.config.file parameter from script/grid-node"
45+
fi
46+
;;
47+
stop)
48+
echo "Stopping Selenium-WebDriver Grid2 node..."
49+
if [ -f $WEBDRIVER_NODE_PIDFILE ]; then
50+
PID=$(cat $WEBDRIVER_NODE_PIDFILE)
51+
kill $PID
52+
rm $WEBDRIVER_NODE_PIDFILE
53+
sleep 1
54+
if [[ $(ps -A | egrep "^${PID}") ]]; then
55+
echo "${FAIL_MSG} Tried to kill the node with PID ${PID}, but was unsuccessful. You need to kill it with something stronger, like 'kill -9'"
56+
exit 1
57+
else
58+
echo "${SUCCESS_MSG} Selenium-WebDriver Grid2 node stopped successfully."
59+
exit 0
60+
fi
61+
else
62+
echo "${SUCCESS_MSG} Selenium-WebDriver Grid2 node has already been stopped."
63+
exit 0
64+
fi
65+
;;
66+
restart)
67+
$0 stop
68+
$0 start
69+
;;
70+
*)
71+
DO_showUsage
72+
esac

0 commit comments

Comments
 (0)