@@ -40,25 +40,27 @@ USER 1200
40
40
# Latest released version will be used by default
41
41
# ============================================
42
42
ARG 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/chrome-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' ) ; \
51
53
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 \
54
57
&& rm -rf /opt/selenium/chromedriver \
55
58
&& sudo unzip /tmp/chromedriver_linux64.zip -d /opt/selenium \
56
59
&& 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 \
58
61
&& sudo chmod 755 /opt/selenium/chromedriver-$CHROME_DRIVER_VERSION \
59
62
&& sudo ln -fs /opt/selenium/chromedriver-$CHROME_DRIVER_VERSION /usr/bin/chromedriver
60
63
61
-
62
64
# ============================================
63
65
# Dumping Browser name and version for config
64
66
# ============================================
0 commit comments