@@ -40,25 +40,27 @@ USER 1200
4040# Latest released version will be used by default
4141# ============================================
4242ARG CHROME_DRIVER_VERSION
43- RUN if [ -z "$CHROME_DRIVER_VERSION" ]; \
44- then CHROME_MAJOR_VERSION=$(google-chrome --version | sed -E "s/.* ([0-9]+)(\. [0-9]+){3}.*/\1 /" ) \
45- && NO_SUCH_KEY=$(curl -ls https://chromedriver.storage.googleapis.com/LATEST_RELEASE_${CHROME_MAJOR_VERSION} | head -n 1 | grep -oe NoSuchKey) ; \
46- if [ -n "$NO_SUCH_KEY" ]; then \
47- echo "No Chromedriver for version $CHROME_MAJOR_VERSION. Use previous major version instead" \
48- && CHROME_MAJOR_VERSION=$(expr $CHROME_MAJOR_VERSION - 1); \
49- fi ; \
50- CHROME_DRIVER_VERSION=$(wget --no-verbose -O - "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_${CHROME_MAJOR_VERSION}" ); \
43+ RUN if [ ! -z "$CHROME_DRIVER_VERSION" ]; \
44+ then CHROME_DRIVER_URL=https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/$CHROME_DRIVER_VERSION/linux64/chromedriver-linux64.zip ; \
45+ else echo "Geting ChromeDriver binary from https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions-with-downloads.json" \
46+ && CFT_URL=https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions-with-downloads.json \
47+ && CFT_CHANNEL="Stable" \
48+ && if [[ $CHROME_VERSION == *"beta" * ]]; then CFT_CHANNEL="Beta" ; fi \
49+ && if [[ $CHROME_VERSION == *"unstable" * ]]; then CFT_CHANNEL="Dev" ; fi \
50+ && CTF_VALUES=$(curl -sSL $CFT_URL | jq -r --arg CFT_CHANNEL "$CFT_CHANNEL" '.channels[] | select (.channel==$CFT_CHANNEL)' ) \
51+ && CHROME_DRIVER_VERSION=$(echo $CTF_VALUES | jq -r '.version' ) \
52+ && CHROME_DRIVER_URL=$(echo $CTF_VALUES | jq -r '.downloads.chromedriver[] | select(.platform=="linux64") | .url' ) ; \
5153 fi \
52- && echo "Using chromedriver version: " $CHROME_DRIVER_VERSION \
53- && wget --no-verbose -O /tmp/chromedriver_linux64.zip https://chromedriver.storage.googleapis.com/$CHROME_DRIVER_VERSION/chromedriver_linux64.zip \
54+ && echo "Using ChromeDriver from: " $CHROME_DRIVER_URL \
55+ && echo "Using ChromeDriver version: " $CHROME_DRIVER_VERSION \
56+ && wget --no-verbose -O /tmp/chromedriver_linux64.zip $CHROME_DRIVER_URL \
5457 && rm -rf /opt/selenium/chromedriver \
5558 && sudo unzip /tmp/chromedriver_linux64.zip -d /opt/selenium \
5659 && rm /tmp/chromedriver_linux64.zip \
57- && sudo mv /opt/selenium/chromedriver /opt/selenium/chromedriver-$CHROME_DRIVER_VERSION \
60+ && sudo mv /opt/selenium/chromedriver-linux64/chromedriver /opt/selenium/chromedriver-$CHROME_DRIVER_VERSION \
5861 && sudo chmod 755 /opt/selenium/chromedriver-$CHROME_DRIVER_VERSION \
5962 && sudo ln -fs /opt/selenium/chromedriver-$CHROME_DRIVER_VERSION /usr/bin/chromedriver
6063
61-
6264# ============================================
6365# Dumping Browser name and version for config
6466# ============================================
0 commit comments