How to always download the latest version of chromedriver and geckodriver?
Running automation tests on our CI. Currently, we are retrieving the latest versions of Chrome and Firefox as part of our setup, however, the versions of chromedriver and geckodriver we use are hardcoded because there seems to be no link to the latest version.
Ex. here is the line that downloads the latest firefox version
wget -nv -O ~/FirefoxSetup.tar.bz2 "https://download.mozilla.org/?product=firefox-latest&os=linux64"
While here is the line that downloads a specific version of geckodriver
wget -nv -O ~/geckodriver.tar.gz "https://github.com/mozilla/geckodriver/releases/download/v0.29.1/geckodriver-v0.29.1-linux64.tar.gz"
Is there anyway to always get the latest chromedriver and geckodriver?
Check if this gist helps, at least for chromedriver:
version=$(curl http://chromedriver.storage.googleapis.com/LATEST_RELEASE) download_location= " http://chromedriver.storage.googleapis.com/ $version /chromedriver_linux64.zip " rm /tmp/chromedriver_linux64.zip wget -P /tmp $download_location unzip /tmp/chromedriver_linux64.zip -d . mv ./chromedriver ./chromedriver.linux chmod u+x ./chromedriver.linux
Same idea for geckodriver:
install_dir= " /usr/local/bin " json= $( curl -s https://api.github.com/repos/mozilla/geckodriver/releases/latest ) if [[ $( uname ) == " Darwin " ]] ; then url= $( echo " $json " | jq -r ' .assets.browser_download_url | select(contains("maces")) ' ) elif [[ $( uname ) == " Linux " ]] ; then url= $( echo " $json " | jq -r ' .assets.browser_download_url | select(contains("linux64")) ' ) else echo " can't determine OS " exit 1 fi curl -s -L " $url " | tar -xz chmod +x geckodriver sudo mv geckodriver " $install_dir "
Answered By – VonC