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

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

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