#!/usr/bin/env bash DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" if [ "$(uname)" == "Darwin" ]; then BROWSER_TYPE="mac-x64" elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then BROWSER_TYPE="linux64" elif [ "$(expr substr $(uname -s) 1 10)" == "MINGW32_NT" ]; then BROWSER_TYPE="win32" elif [ "$(expr substr $(uname -s) 1 10)" == "MINGW64_NT" ]; then BROWSER_TYPE="win64" fi echo "Getting currently installed Chrome Version" if [ "$CI" = "true" ]; then chromeVersion=$(google-chrome --version ) else if [ "$BROWSER_TYPE" = "mac-x64" ]; then chromeVersion=$(/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --version ) elif [ "$BROWSER_TYPE" = "linux64" ]; then chromeVersion=$( /usr/bin/google-chrome-stable --version ) fi fi chromeVersion=${chromeVersion:14:20} echo "Intalling webdriver for version: $chromeVersion" function show_error() { echo -e "\e[31m===============================================================\e[0m" echo -e "\e[31mFAILED TO UPDATE WEBDRIVER-MANAGER, PLEASE DO IT MANUALLY!\e[0m" echo -e "\e[31mRun the following command (sometimes needs more than one kick):\e[0m" echo -e "" echo -e "\e[31mnpx webdriver-manager update --gecko=false\e[0m" echo -e "" echo -e "====== WINDOWS USERS : PLEASE RUN THIS COMMAND: " echo -e "npm run update-webdriver:windows" echo -e "====== WINDOWS USERS ADVISORY END ==================" echo -e "" echo -e "\e[31m===============================================================\e[0m" } ROOTDIR="$DIR/.." echo "BROWSER => $BROWSER_TYPE" PATH_TO_COMMANDS=./node_modules/webdriver-manager/built/lib/cmds PATH_TO_BINARIES=./node_modules/webdriver-manager/built/lib/binaries PATH_TO_SELENIUM=./node_modules/webdriver-manager/selenium # Remove existing drivers rm -rf $PATH_TO_SELENIUM/selenium-server-* rm -rf $PATH_TO_SELENIUM/chromedriver-* rm -f $PATH_TO_SELENIUM/chromedriver_* # Replace browser type in file and create new file echo 'Replacing new webdriver files' sed "s/mac-x64/$BROWSER_TYPE/" $DIR/chrome_xml_schema.js > $DIR/chrome_xml.js && sed "s/mac-x64/$BROWSER_TYPE/" $DIR/update_schema.js > $DIR/update.js; if [ "$?" -ne 0 ]; then show_error exit 0 fi echo "============== Trying to update the files ==============" sleep 2 # Replace webdriver files echo "cp -f $DIR/update.js $PATH_TO_COMMANDS/update.js" cp -f $DIR/update.js $PATH_TO_COMMANDS/update.js cp -f $DIR/chrome_xml.js $PATH_TO_BINARIES/chrome_xml.js rm -f $DIR/update.js rm -f $DIR/chrome_xml.js node ./node_modules/webdriver-manager/bin/webdriver-manager update --gecko=false --versions.chrome=$chromeVersion