No Chromedriver found that can automate Chrome '53.0.2785'
Asked Answered
R

10

6

Problem: I am trying to run appium automation on android emulator , the app launches but errors out saying No chromedriver found.

I was able to run earlier, like last month and all. But now it thorws me an error, probably because of some update either to appium or the chromedriver or the android.

Appium version - 1.8.1 OS : Mac Platform : Android

Tried verious options like , downgrading the appium ver, changing the chromedriver version to lower ones. Various post suggestion, none of them has a clear and proper thing to workaround

    [debug] [ADB] Device API level: 24
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running '/Users/lokesh/Library/Android/sdk/platform-tools/adb' with args: ["-P",5037,"-s","emulator-5554","shell","am","start","-W","-n","com.sparkletech.app/com.sparkletech.app.MainActivity","-S","-a","android.intent.action.MAIN","-c","android.intent.category.LAUNCHER","-f","0x10200000"]
[debug] [AndroidDriver] Not cleaning generated files. Add `clearSystemFiles` capability if wanted.
[Appium] New AndroidDriver session created successfully, session fa4f13cc-80b2-4db1-b417-cd13798ee4af added to master session list
[debug] [BaseDriver] Event 'newSessionStarted' logged at 1535255463650 (13:51:03 GMT+1000 (Australian Eastern Standard Time))
[debug] [MJSONWP] Responding to client with driver.createSession() result: {"platform":"LINUX","webStorageEnabled":false,"takesScreenshot":true,"javascriptEnabled":true,"databaseEnabled":false,"networkConnectionEnabled":true,"locationContextEnabled":false,"warnings":{},"desired":{"appPackage":"com.sparkletech.app","app":null,"noReset":true,"deviceName":"emulator-5554","appActivity":"com.sparkletech.app.MainActivity","build":"local-null","platformVersion":"7.0","name":"Swipe on Onboarding Carousel","browserName":"","platformName":"Android","printPageSourceOnFindFailure":"true","browserstack.debug":"true"},"appPackage":"com.sparkletech.app","app":null,"noReset":true,"deviceName":"emulator-5554","appActivity":"com.sparkletech.app.MainActivity","build":"local-null","platformVersion":"7.0","name":"Swipe on Onboarding Carousel","browserName":"","platformName":"Android","printPageSourceOnFindFailure":"true","browserstack.debug":"true","deviceUDID":"emulator-5554","deviceScreenSize":"1080x1920","deviceModel":"Android SDK built for x86","deviceManufacturer":"Google"}
[HTTP] <-- POST /wd/hub/session 200 5238 ms - 1071 
[HTTP] --> GET /wd/hub/session/fa4f13cc-80b2-4db1-b417-cd13798ee4af/contexts {}
[debug] [MJSONWP] Calling AppiumDriver.getContexts() with args: ["fa4f13cc-80b2-4db1-b417-cd13798ee4af"]
[debug] [AndroidDriver] Getting a list of available webviews
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running '/Users/lokesh/Library/Android/sdk/platform-tools/adb' with args: ["-P",5037,"-s","emulator-5554","shell","cat","/proc/net/unix"]
[debug] [AndroidDriver] WEBVIEW_9844 mapped to pid 9844
[debug] [AndroidDriver] Getting process name for webview
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running '/Users/lokesh/Library/Android/sdk/platform-tools/adb' with args: ["-P",5037,"-s","emulator-5554","shell","ps"]
[debug] [AndroidDriver] Parsed pid: '9844' pkg: 'S' from
[debug] [AndroidDriver]     USER      PID   PPID  VSIZE  RSS   WCHAN            PC  NAME
[debug] [AndroidDriver]     u0_a82    9844  1373  1510484 92776 futex_wait 00000000 S com.sparkletech.app
[debug] [AndroidDriver] Returning process name: 'S'
[debug] [AndroidDriver] Found webviews: ["WEBVIEW_S"]
[debug] [AndroidDriver] Available contexts: ["NATIVE_APP","WEBVIEW_S"]
[debug] [MJSONWP] Responding to client with driver.getContexts() result: ["NATIVE_APP","WEBVIEW_S"]
[HTTP] <-- GET /wd/hub/session/fa4f13cc-80b2-4db1-b417-cd13798ee4af/contexts 200 161 ms - 98 
[HTTP] --> POST /wd/hub/session/fa4f13cc-80b2-4db1-b417-cd13798ee4af/context {"name":"WEBVIEW_S"}
[debug] [MJSONWP] Calling AppiumDriver.setContext() with args: ["WEBVIEW_S","fa4f13cc-80b2-4db1-b417-cd13798ee4af"]
[debug] [AndroidDriver] Getting a list of available webviews
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running '/Users/lokesh/Library/Android/sdk/platform-tools/adb' with args: ["-P",5037,"-s","emulator-5554","shell","cat","/proc/net/unix"]
[debug] [AndroidDriver] WEBVIEW_9844 mapped to pid 9844
[debug] [AndroidDriver] Getting process name for webview
[debug] [ADB] Getting connected devices...
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running '/Users/lokesh/Library/Android/sdk/platform-tools/adb' with args: ["-P",5037,"-s","emulator-5554","shell","ps"]
[debug] [AndroidDriver] Parsed pid: '9844' pkg: 'S' from
[debug] [AndroidDriver]     USER      PID   PPID  VSIZE  RSS   WCHAN            PC  NAME
[debug] [AndroidDriver]     u0_a82    9844  1373  1518292 98828 binder_thr 00000000 S com.sparkletech.app
[debug] [AndroidDriver] Returning process name: 'S'
[debug] [AndroidDriver] Found webviews: ["WEBVIEW_S"]
[debug] [AndroidDriver] Available contexts: ["NATIVE_APP","WEBVIEW_S"]
[debug] [AndroidDriver] Connecting to chrome-backed webview context 'WEBVIEW_S'
[debug] [AndroidDriver] A port was not given, using random port: 8000
[debug] [Chromedriver] Changed state to 'starting'
[Chromedriver] Set chromedriver binary as: /usr/local/lib/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac/chromedriver
[debug] [Chromedriver] Killing any old chromedrivers, running: pkill -15 -f "/usr/local/lib/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac/chromedriver.*--port=8000"
[Chromedriver] No old chromedrivers seemed to exist
[debug] [Chromedriver] Cleaning any old adb forwarded port socket connections
[debug] [ADB] List forwarding ports
[debug] [ADB] Running '/Users/lokesh/Library/Android/sdk/platform-tools/adb' with args: ["-P",5037,"-s","emulator-5554","forward","--list"]
[debug] [ADB] Removing forwarded port socket connection: 12264 
[debug] [ADB] Running '/Users/lokesh/Library/Android/sdk/platform-tools/adb' with args: ["-P",5037,"-s","emulator-5554","forward","--remove","tcp:12264"]
[Chromedriver] Spawning chromedriver with: /usr/local/lib/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac/chromedriver --url-base=wd/hub --port=8000 --adb-port=5037 --verbose
[debug] [JSONWP Proxy] Proxying [GET /status] to [GET http://127.0.0.1:8000/wd/hub/status] with no body
[debug] [JSONWP Proxy] Got response with status 200: "{\"sessionId\":\"\",\"status\":0,\"value\":{\"build\":{\"version\":\"alpha\"},\"os\":{\"arch\":\"x86_64\",\"name\":\"Mac OS X\",\"version\":\"10.13.4\"}}}"
[debug] [JSONWP Proxy] Proxying [POST /session] to [POST http://127.0.0.1:8000/wd/hub/session] with body: {"desiredCapabilities":{"chromeOptions":{"androidPackage":"com.sparkletech.app","androidUseRunningApp":true,"androidDeviceSerial":"emulator-5554"}}}
[debug] [Chromedriver] Webview version: 'Chrome/51.0.2704.90'
[debug] [JSONWP Proxy] Got response with status 200: {"sessionId":"7e665c4f7cb6a80ad2d9589e51504765","status":33,"value":{"message":"session not created exception: Chrome version must be >= 65.0.3325.0\n  (Driver info: chromedriver=2.38.552518 (183d19265345f54ce39cbb94cf81ba5f15905011),platform=Mac OS X 10.13.4 x86_64)"}}
[debug] [JSONWP Proxy] Proxying [POST /session] to [POST http://127.0.0.1:8000/wd/hub/session] with body: {"desiredCapabilities":{"chromeOptions":{"androidPackage":"com.sparkletech.app","androidUseRunningApp":true,"androidDeviceSerial":"emulator-5554"}}}
[debug] [Chromedriver] Webview version: 'Chrome/51.0.2704.90'
[debug] [JSONWP Proxy] Got response with status 200: {"sessionId":"5393e82cdbef8206a130d6f1e3fac315","status":33,"value":{"message":"session not created exception: Chrome version must be >= 65.0.3325.0\n  (Driver info: chromedriver=2.38.552518 (183d19265345f54ce39cbb94cf81ba5f15905011),platform=Mac OS X 10.13.4 x86_64)"}}
[debug] [JSONWP Proxy] Proxying [POST /session] to [POST http://127.0.0.1:8000/wd/hub/session] with body: {"desiredCapabilities":{"chromeOptions":{"androidPackage":"com.sparkletech.app","androidUseRunningApp":true,"androidDeviceSerial":"emulator-5554"}}}
[debug] [Chromedriver] Webview version: 'Chrome/51.0.2704.90'
[debug] [JSONWP Proxy] Got response with status 200: {"sessionId":"57883c05b8d4fe0b9ff9bb3c5121b4ee","status":33,"value":{"message":"session not created exception: Chrome version must be >= 65.0.3325.0\n  (Driver info: chromedriver=2.38.552518 (183d19265345f54ce39cbb94cf81ba5f15905011),platform=Mac OS X 10.13.4 x86_64)"}}
[debug] [JSONWP Proxy] Proxying [POST /session] to [POST http://127.0.0.1:8000/wd/hub/session] with body: {"desiredCapabilities":{"chromeOptions":{"androidPackage":"com.sparkletech.app","androidUseRunningApp":true,"androidDeviceSerial":"emulator-5554"}}}
[debug] [Chromedriver] Webview version: 'Chrome/51.0.2704.90'
[debug] [JSONWP Proxy] Got response with status 200: {"sessionId":"28397955268db8b06d4a2dc3055ed85a","status":33,"value":{"message":"session not created exception: Chrome version must be >= 65.0.3325.0\n  (Driver info: chromedriver=2.38.552518 (183d19265345f54ce39cbb94cf81ba5f15905011),platform=Mac OS X 10.13.4 x86_64)"}}
[Chromedriver] Chromedriver exited unexpectedly with code null, signal SIGTERM
[debug] [Chromedriver] Changed state to 'stopped'
[Chromedriver] Unable to automate Chrome version because it is too old for this version of Chromedriver.
[Chromedriver] Please see 'https://github.com/appium/appium/blob/master/docs/en/advanced-concepts/chromedriver.md'
[Chromedriver] Error: session not created exception: Chrome version must be >= 65.0.3325.0
  (Driver info: chromedriver=2.38.552518 (183d19265345f54ce39cbb94cf81ba5f15905011),platform=Mac OS X 10.13.4 x86_64)
    at Chromedriver.callee$2$0$ (../../lib/chromedriver.js:163:26)
    at tryCatch (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:67:40)
    at GeneratorFunctionPrototype.invoke [as _invoke] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:315:22)
    at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:100:21)
    at GeneratorFunctionPrototype.invoke (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37)
 Error: session not created exception: Chrome version must be >= 65.0.3325.0
  (Driver info: chromedriver=2.38.552518 (183d19265345f54ce39cbb94cf81ba5f15905011),platform=Mac OS X 10.13.4 x86_64)
    at Chromedriver.callee$2$0$ (../../lib/chromedriver.js:163:26)
    at tryCatch (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:67:40)
    at GeneratorFunctionPrototype.invoke [as _invoke] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:315:22)
    at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:100:21)
    at GeneratorFunctionPrototype.invoke (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37)
[MJSONWP] Encountered internal error running command: Error: session not created exception: Chrome version must be >= 65.0.3325.0
  (Driver info: chromedriver=2.38.552518 (183d19265345f54ce39cbb94cf81ba5f15905011),platform=Mac OS X 10.13.4 x86_64)
    at Chromedriver.callee$2$0$ (../../lib/chromedriver.js:163:26)
    at tryCatch (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:67:40)
    at GeneratorFunctionPrototype.invoke [as _invoke] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:315:22)
    at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:100:21)
    at GeneratorFunctionPrototype.invoke (/usr/local/lib/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37)
[HTTP] <-- POST /wd/hub/session/fa4f13cc-80b2-4db1-b417-cd13798ee4af/context 500 2885 ms - 358 
Rauch answered 26/8, 2018 at 4:8 Comment(0)
M
2

The following is a list of Chromedriver versions and their corresponding minimum Chrome version that is automatable:

https://appium.io/docs/en/writing-running-appium/web/chromedriver/

You will either need to upgrade the Chrome to the latest version that is:

Chrome version must be >= 65.0.3325.0

Driver info: chromedriver=2.38.552518 as mentioned in the logs.

If you specifically need the Chrome version '53.0.2785' then you should install ChromeDriver 2.26 https://chromedriver.storage.googleapis.com/index.html?path=2.26/ which is compatible with the corresponding version.

Reference:

https://appium.io/docs/en/writing-running-appium/web/chromedriver/

How to upgrade chromedriver version for appium?

Micrometeorite answered 26/8, 2018 at 6:28 Comment(1)
Thanks for commenting, If i set my chromedriver to => 2.38 65.0.3325.0, then i get an error saying ---> Original error: No Chromedriver found that can automate Chrome '58.0.3029' now, so now its asking for a different version to set.Rauch
D
5

https://appium.io/docs/en/writing-running-appium/web/chromedriver/

Download the expected version of exe from the above location and set below the desired capability for AndroidDriver.

DesiredCapabilities desiredCapabilities = new DesiredCapabilities();  

desiredCapabilities.setCapability("chromedriverExecutable","D:\\Automation_Project\\MobileAutomationBestPractices\\drivers\\chromedriver.exe");
Dalt answered 19/11, 2019 at 8:30 Comment(1)
Thanks @Arpan SainiRauch
U
4

appium --allow-insecure chromedriver_autodownload

It worked for me.

Universal answered 6/1, 2023 at 5:35 Comment(1)
Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.Uhland
B
3

You can let Appium to automatically download the chromedriver version:

"appium --allow-insecure chromedriver_autodownload" run this in the CMD where you were running appium server. Once if we run above command then appium get the compatible browser version matching the emulator/device and now from next time just start appium server normally and run the code.

The above command tested in Appium v1.21.0

Check this video -how to update appium chrome driver

Bradlybradman answered 16/5, 2021 at 14:3 Comment(0)
M
2

The following is a list of Chromedriver versions and their corresponding minimum Chrome version that is automatable:

https://appium.io/docs/en/writing-running-appium/web/chromedriver/

You will either need to upgrade the Chrome to the latest version that is:

Chrome version must be >= 65.0.3325.0

Driver info: chromedriver=2.38.552518 as mentioned in the logs.

If you specifically need the Chrome version '53.0.2785' then you should install ChromeDriver 2.26 https://chromedriver.storage.googleapis.com/index.html?path=2.26/ which is compatible with the corresponding version.

Reference:

https://appium.io/docs/en/writing-running-appium/web/chromedriver/

How to upgrade chromedriver version for appium?

Micrometeorite answered 26/8, 2018 at 6:28 Comment(1)
Thanks for commenting, If i set my chromedriver to => 2.38 65.0.3325.0, then i get an error saying ---> Original error: No Chromedriver found that can automate Chrome '58.0.3029' now, so now its asking for a different version to set.Rauch
D
2

You need to update/downgrade the chromedriver.exe file for appium based on the version from here https://appium.io/docs/en/writing-running-appium/web/chromedriver/

Which is available at following path "C:\Users\[UserName]\AppData\Local\Programs\appium-desktop\resources\app\node_modules\appium\node_modules\appium-chromedriver\chromedriver\win\"

Just delete the previous chromedriver.exe and download and paste the appropriate version.

Deangelis answered 27/8, 2018 at 7:34 Comment(0)
S
1

As the error implies, Appium cannot find a version of Chromedriver matching the available version of Chrome.

The easy way is to start Appium with the following flag. This downloads the matching Chromedriver version automatically:

appium --allow-insecure chromedriver_autodownload

Howver, if you are running a version of Chrome later than 5x.xx, the required version of Chromedriver may not be available to autodownload. Thus you need to download it manually by doing the following:

  1. Let's say the error thrown is along the lines of chromedriver is not available for Chrome version 53.0.2785.0. Thus, we needed to find a chromedriver with the same version number.
  2. Run this command to download the matching chromium driver (Ref on chromium.org): npx -g @puppeteer/browsers install [email protected]
  3. Navigate to the downloaded chromedriver. On a Mac, it's /Users/<your-username>/chromedriver/…/chromedriver. The correct folder would contain two files:
    1. chromedriver
    2. LICENSE.chromedriver
  4. Copy chromedriver to the appium-chromedriver/chromedriver/mac folder. From the logs pasted above, it's at /usr/local/lib/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac/chromedriver
  5. Rename chromedriver according to its version as follows: chromedriver_mac64_v53.0.2785.0
  6. Start up Appium with the following command: appium

Now try it out on your Android emulator. This trick also worked with Web mode for Appium Inspector.

Spriggs answered 24/6 at 10:42 Comment(0)
B
0

run this command

appium --allow-insecure chromedriver_autodownload

if you are running appium with gui then install appium npm package as follow:

  1. Install node js if not installed
  2. run this command: npm install -g appium
  3. add environment variables ANDROID_HOME (C:\Users<user name>\AppData\Local\Android\Sdk) and JAVA_HOME
  4. run command appium --allow-insecure chromedriver_autodownload
Baron answered 20/2, 2023 at 20:35 Comment(0)
R
0

For Hybrid Android app in Windows there is also a use case when user is having context but unable to switch (especially to WebView) : User may see

NoSuchContextException: An unknown server-side error occurred while processing the command. 
Original error: No ChromeDriver found that can automate Chrome '116.0.0'.

Then, update the Appium & drivers

-> npm appium driver update

-> appium driver update <driver_name>

Kill the server and relaunch.

If still issues persists, then check the server logs for

Found 1 executable in 'C:\Users\dhakshath\.appium\node_modules\appium-flutter-driver\node_modules\appium-uiautomator2-driver\node_modules\appium-chromedriver\chromedriver\win'
[debug] [Chromedriver@75e3] The following Chromedriver executables were found:
[debug] [Chromedriver@75e3]     'C:/Users/dhakshath/.appium/node_modules/appium-flutter-driver/node_modules/appium-uiautomator2-driver/node_modules/appium-chromedriver/chromedriver/win/chromedriver-win64_v115.0.5790.170.exe' (version '115.0.5790.170', minimum Chrome version '115.0.5790')

So user need to go to path mentioned in Found 1 >> C:\Users\dhakshath\.appium\node_modules\appium-flutter-driver\node_modules\appium-uiautomator2-driver\node_modules\appium-chromedriver\chromedriver\win

COPY the chromedriver.exe and REPLACE it in

C:/Users/dhakshath/.appium/node_modules/appium-flutter-driver/node_modules/appium-uiautomator2-driver/node_modules/appium-chromedriver/chromedriver/win/chromedriver-win64_v115.0.5790.170.exe

Relaunch app, it will work.

If still version is mismatched, then user might need to download chromeDriver manually and paste it.

Relish answered 1/9, 2023 at 8:0 Comment(0)
R
0

I faced the same issue on my machine, which has configured with the latest updated version.

Resolving issue with this command:

appium --allow-insecure chromedriver_autodownload

It worked for me.

Rhodes answered 28/9, 2023 at 0:22 Comment(0)
P
0

Hi I hope you are doing well, I was facing the same issue but tried multiple solutions available over the internet but couldn't resolve my issue, if you have the same issue please follow the below steps:

  1. First go to your globalConfig.yml file and past log info in it as: APPIUM_LOG_LEVEL: info.

  2. Now run your test cases and you will see in the logs that there is no chromedriver available in your system at the particular location, given in your logs,location ex: /usr/local/lib/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac

  3. So don't worry if there is no such path in your system, pls create the same path as that you see in your logs and download chromeDriver in it OR copy the already downloaded chromeDriver inside this path.

  4. Now rebuild your project and run your cases

  5. Now you will see it's working.

Popedom answered 26/3 at 5:7 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.