diff --git a/run.sh b/run.sh
new file mode 100644
index 0000000000000000000000000000000000000000..b261537e7c5d9976569a5ecbbc31f80d9def0294
--- /dev/null
+++ b/run.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+# Entry script to start Xvfb and set display
+set -e
+
+# Set the defaults
+DEFAULT_LOG_LEVEL="INFO" # Available levels: TRACE, DEBUG, INFO (default), WARN, NONE (no logging)
+DEFAULT_RES="1280x1024x24"
+DEFAULT_DISPLAY=":99"
+
+# Use default if none specified as env var
+LOG_LEVEL=${LOG_LEVEL:-$DEFAULT_LOG_LEVEL}
+RES=${RES:-$DEFAULT_RES}
+DISPLAY=${DISPLAY:-$DEFAULT_DISPLAY}
+
+if [[ -z ${ROBOT_TESTS} ]];
+  then
+    echo "Error: Please specify the robot test or directory as env var ROBOT_TESTS"
+    exit 1
+fi
+
+if [[ -z ${OUTPUT_DIR}  ]];
+  then
+    echo "Error: Please specify the output directory as env var OUTPUT_DIR"
+    exit 1
+fi
+
+# Start Xvfb
+echo -e "Starting Xvfb on display ${DISPLAY} with res ${RES}"
+Xvfb ${DISPLAY} -ac -screen 0 ${RES} +extension RANDR &
+export DISPLAY=${DISPLAY}
+
+# Execute tests
+echo -e "Executing robot tests at log level ${LOG_LEVEL}"
+
+robot --loglevel ${LOG_LEVEL} --outputdir ${OUTPUT_DIR} ${ROBOT_TESTS}
+
+# Stop Xvfb
+kill -9 $(pgrep Xvfb)