How to configure Jenkins to use the latest Chromedriver

I am trying to run scripts in Jenkins from testng. I can run them fine from my local machine as I have it configured to use the latest chromedriver from the Environment Variables.

When I try to run the same scripts using Jenkins, I get the error below . I am trying to understand how I can configure or point Jenkins to use the latest chromedriver.

I see reference in a maven config file from Jenkins to chromedriver:1.2, but I cant find a newer version, and I am not sure if that is the correct place to update the config.

Error :
Could not start a new session. Response code 500. Message: session not created: This version of ChromeDriver only supports Chrome version 114
Current browser version is 121.0.6167.185 with binary path C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

Note: if I downgrade the chrome browser it works fine, but I need to run it using the latest chrome version .


Jenkins setup:
Jenkins: 2.426.3
OS: Windows 10 - 10.0
Java: 11.0.16 - Oracle Corporation (Java HotSpot(TM) 64-Bit Server VM)
---
ant:497.v94e7d9fffa_b_9
antisamy-markup-formatter:162.v0e6ec0fcfcf6
apache-httpcomponents-client-4-api:4.5.14-208.v438351942757
bootstrap5-api:5.3.2-3
bouncycastle-api:2.30.1.77-225.v26ea_c9455fd9
branch-api:2.1144.v1425d1c3d5a_7
build-timeout:1.32
caffeine-api:3.1.8-133.v17b_1ff2e0599
checks-api:2.0.2
chromedriver:1.2
cloudbees-folder:6.858.v898218f3609d
command-launcher:107.v773860566e2e
commons-lang3-api:3.13.0-62.v7d18e55f51e2
commons-text-api:1.11.0-95.v22a_d30ee5d36
credentials:1319.v7eb_51b_3a_c97b_
credentials-binding:657.v2b_19db_7d6e6d
display-url-api:2.200.vb_9327d658781
durable-task:550.v0930093c4b_a_6
echarts-api:5.4.3-2
email-ext:2.104
font-awesome-api:6.5.1-2
git:5.2.1
git-client:4.6.0
github:1.38.0
github-api:1.318-461.v7a_c09c9fa_d63
github-branch-source:1772.va_69eda_d018d4
gradle:2.9
gson-api:2.10.1-15.v0d99f670e0a_7
instance-identity:185.v303dc7c645f9
ionicons-api:56.v1b_1c8c49374e
jackson2-api:2.16.1-373.ve709c6871598
jakarta-activation-api:2.0.1-3
jakarta-mail-api:2.0.1-3
javadoc:243.vb_b_503b_b_45537
javax-activation-api:1.2.0-6
javax-mail-api:1.6.2-9
jaxb:2.3.9-1
jdk-tool:73.vddf737284550
jjwt-api:0.11.5-77.v646c772fddb_0
joda-time-api:2.12.7-29.v5a_b_e3a_82269a_
jquery3-api:3.7.1-1
jsch:0.2.16-86.v42e010d9484b_
json-path-api:2.9.0-33.v2527142f2e1d
junit:1259.v65ffcef24a_88
ldap:711.vb_d1a_491714dc
mailer:463.vedf8358e006b_
matrix-auth:3.2.1
matrix-project:822.824.v14451b_c0fd42
maven-plugin:3.23
mina-sshd-api-common:2.12.0-90.v9f7fb_9fa_3d3b_
mina-sshd-api-core:2.12.0-90.v9f7fb_9fa_3d3b_
okhttp-api:4.11.0-172.vda_da_1feeb_c6e
pam-auth:1.10
pipeline-build-step:540.vb_e8849e1a_b_d8
pipeline-github-lib:42.v0739460cda_c4
pipeline-graph-analysis:202.va_d268e64deb_3
pipeline-groovy-lib:704.vc58b_8890a_384
pipeline-input-step:477.v339683a_8d55e
pipeline-milestone-step:111.v449306f708b_7
pipeline-model-api:2.2175.v76a_fff0a_2618
pipeline-model-definition:2.2175.v76a_fff0a_2618
pipeline-model-extensions:2.2175.v76a_fff0a_2618
pipeline-rest-api:2.34
pipeline-stage-step:305.ve96d0205c1c6
pipeline-stage-tags-metadata:2.2175.v76a_fff0a_2618
pipeline-stage-view:2.34
plain-credentials:143.v1b_df8b_d3b_e48
plugin-util-api:3.8.0
resource-disposer:0.23
scm-api:683.vb_16722fb_b_80b_
script-security:1321.va_73c0795b_923
snakeyaml-api:2.2-111.vc6598e30cc65
ssh-credentials:308.ve4497b_ccd8f4
ssh-slaves:2.948.vb_8050d697fec
sshd:3.322.v159e91f6a_550
structs:337.v1b_04ea_4df7c8
timestamper:1.26
token-macro:400.v35420b_922dcb_
trilead-api:2.133.vfb_8a_7b_9c5dd1
variant:60.v7290fc0eb_b_cd
workflow-aggregator:596.v8c21c963d92d
workflow-api:1291.v51fd2a_625da_7
workflow-basic-steps:1042.ve7b_140c4a_e0c
workflow-cps:3853.vb_a_490d892963
workflow-durable-task-step:1331.vc8c2fed35334
workflow-job:1385.vb_58b_86ea_fff1
workflow-multibranch:773.vc4fe1378f1d5
workflow-scm-step:415.v434365564324
workflow-step-api:657.v03b_e8115821b_
workflow-support:865.v43e78cc44e0d
ws-cleanup:0.45```

the chromedriver plugin was last released 9 years ago. So if you use this to install chromedriver I’m not surprised that it installs an old version. I suggest that you manually download chromedriver and install it in your pipeline. On https://chromedriver.chromium.org/ there’s a json linked that you can use to find the latest stable download url

1 Like

hmm looking at the plugin it relies on the jenkins updates tool to deliver the download urls here https://updates.jenkins.io/updates/org.jenkins-ci.plugins.chromedriver.ChromeDriver.json
And there is nothing newer than 114

1 Like

you should open a ticket on GitHub - jenkins-infra/crawler: tools crawler and ask them to update the chrome crawler to get the data from https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions-with-downloads.json
And the plugin itself should also be updated so it supports win64, mac-x64 and mac-arm64

Thank you for confirming my suspicions and taking the time to provide several suggestions, I was finally able to solve this after three days :skull: . I finally was able to locate the chromen drive file that Jenkins was using to run the scripts, and replaced it with the latest version.

This is where I get the latest chrome drivers:
https://googlechromelabs.github.io/chrome-for-testing/

This is where I located the chrome driver that is used by jenkins from my local:
C:\Windows\System32\config\systemprofile.cache\selenium\chromedriver\win32\96.0.4664.45

This is how I located the chrome driver file that Jenkins was using :

  1. Downgraded the chrome browser to a version that was supported
  2. I ran the Jenkins build and monitored the processes in the task manager
  3. When I saw the chrome driver show up , I right click on it and selected “Open File Location”
  4. After I located the chrome driver, I replaced it with the latest version