73 lines
2.3 KiB
Bash
Executable File
73 lines
2.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
#
|
|
# Usage: grid-node {start|stop}
|
|
#
|
|
|
|
source $(dirname $0)/font_color
|
|
|
|
EXPECTED_ARGS=1
|
|
E_BADARGS=65
|
|
|
|
DO_showUsage() {
|
|
echo "Usage: $(basename $0) {start|stop}"
|
|
exit $E_BADARGS
|
|
}
|
|
|
|
if [ $# -ne $EXPECTED_ARGS ]; then
|
|
DO_showUsage
|
|
fi
|
|
|
|
################################################################################
|
|
|
|
WEBDRIVER_SERVER_JAR=./selenium-server-standalone.jar
|
|
WEBDRIVER_NODE_PARAMS="-role webdriver -hubHost 127.0.0.1 -hubPort 4444 -host 127.0.0.1 -browserName=firefox"
|
|
WEBDRIVER_NODE_PIDFILE="/tmp/webdriver_node.pid"
|
|
|
|
if [ ! -f $WEBDRIVER_SERVER_JAR ]; then
|
|
echo "You must place the Selenium-WebDriver standalone JAR file at ${WEBDRIVER_SERVER_JAR} before proceeding."
|
|
exit 1
|
|
fi
|
|
|
|
case "$1" in
|
|
start)
|
|
echo "Starting Selenium-WebDriver Grid2 node..."
|
|
if [ -f $WEBDRIVER_NODE_PIDFILE ]; then
|
|
echo "${FAIL_MSG} Selenium-WebDriver Grid2 node already running with PID $(cat $WEBDRIVER_NODE_PIDFILE). Run 'grid-node stop' or 'grid-node restart'."
|
|
exit 1
|
|
else
|
|
START_NODE_CMD="java -Djava.util.logging.config.file=test/logging.properties -jar ${WEBDRIVER_SERVER_JAR} ${WEBDRIVER_NODE_PARAMS}"
|
|
$START_NODE_CMD &
|
|
PID=$!
|
|
echo $PID > "${WEBDRIVER_NODE_PIDFILE}"
|
|
echo "${SUCCESS_MSG} Selenium-WebDriver Grid2 node started successfully."
|
|
echo "To see full log output, remove the java.util.logging.config.file parameter from script/grid-node"
|
|
fi
|
|
;;
|
|
stop)
|
|
echo "Stopping Selenium-WebDriver Grid2 node..."
|
|
if [ -f $WEBDRIVER_NODE_PIDFILE ]; then
|
|
PID=$(cat $WEBDRIVER_NODE_PIDFILE)
|
|
kill $PID
|
|
rm $WEBDRIVER_NODE_PIDFILE
|
|
sleep 1
|
|
if [[ $(ps -A | egrep "^${PID}") ]]; then
|
|
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'"
|
|
exit 1
|
|
else
|
|
echo "${SUCCESS_MSG} Selenium-WebDriver Grid2 node stopped successfully."
|
|
exit 0
|
|
fi
|
|
else
|
|
echo "${SUCCESS_MSG} Selenium-WebDriver Grid2 node has already been stopped."
|
|
exit 0
|
|
fi
|
|
;;
|
|
restart)
|
|
$0 stop
|
|
$0 start
|
|
;;
|
|
*)
|
|
DO_showUsage
|
|
esac
|