Facts

Rapise uses Appium to test Mobile applications. Appium uses Chromedriver to test web applications on Android. Appium installation includes certain version of Chromedriver by default. Chromedriver has a requirement for minimal version of Chrome browser it supports.

Resolution

Manual Chromedriver Download

Download Chromedriver that supports your version of Chrome to a computer running Appium server. See Chromedriver/Chrome Compatibility list.

Run Appium with a command

appium --chromedriver-executable /path/to/my/chromedriver

Automatic Chromedriver Download

If you have Appium 1.16.0+ then you may configure it to download required Chromedriver version automatically.

Launch Appium with the command line:

appium --allow-insecure chromedriver_autodownload

When it will need a chromedriver of specific version it will download it automatically. Default download folder is: 

/usr/local/lib/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac

If you want to override how Appium downloads chromedrivers you may set two desired capabilities:

appium:chromedriverExecutableDir - full path to the folder where chromedriver executables are located. This folder is used then to store the downloaded chromedriver executables if automatic download is enabled. Read Automatic Chromedriver Discovery article for more details.

appium:chromedriverChromeMappingFile - full path to the chromedrivers mapping file. This file is used to statically map webview/browser versions to the chromedriver versions that are capable of automating them. Read Automatic Chromedriver Discovery article for more details.

To set these capabilities please refer to How to specify Selenium or Appium capabilities which are not available through Rapise UI.

If everything is configured correctly you may see something like this in Appium output:

[debug] [ChromedriverStorageClient] Selecting chromedrivers whose minimum supported browser version matches to 83
[debug] [ChromedriverStorageClient] Got 6 items
[debug] [ChromedriverStorageClient] Will select candidate drivers versioned as '83.0.4103.14,83.0.4103.39'
[debug] [ChromedriverStorageClient] Selecting chromedrivers whose platform matches to mac64
[debug] [ChromedriverStorageClient] Got 2 items
[debug] [ChromedriverStorageClient] Got 2 drivers to sync: [
[debug] [ChromedriverStorageClient]   "83.0.4103.14/chromedriver_mac64.zip",
[debug] [ChromedriverStorageClient]   "83.0.4103.39/chromedriver_mac64.zip"
[debug] [ChromedriverStorageClient] ]
[debug] [ChromedriverStorageClient] Retrieving 'https://chromedriver.storage.googleapis.com/83.0.4103.14/chromedriver_mac64.zip' to '/var/folders/7t/rfbnvl2s1x335b8jscmhnlrw0000gn/T/2023522-99637-1k22dt3.7hpo/0.zip'
[debug] [ChromedriverStorageClient] Retrieving 'https://chromedriver.storage.googleapis.com/83.0.4103.39/chromedriver_mac64.zip' to '/var/folders/7t/rfbnvl2s1x335b8jscmhnlrw0000gn/T/2023522-99637-1k22dt3.7hpo/1.zip'
dbug Support Traversed 1 directory and 1 file in 8ms
[debug] [ChromedriverStorageClient] Moving the extracted 'chromedriver' to '/usr/local/lib/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac/chromedriver_mac64_v83.0.4103.39'
[debug] [ChromedriverStorageClient] Permissions of the file '/usr/local/lib/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac/chromedriver_mac64_v83.0.4103.39' have been changed to 755
dbug Support Traversed 1 directory and 1 file in 1ms
[debug] [ChromedriverStorageClient] Moving the extracted 'chromedriver' to '/usr/local/lib/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac/chromedriver_mac64_v83.0.4103.14'
[debug] [ChromedriverStorageClient] Permissions of the file '/usr/local/lib/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac/chromedriver_mac64_v83.0.4103.14' have been changed to 755
[ChromedriverStorageClient] Successfully synchronized 2 chromedrivers
[debug] [Chromedriver] Found 2 executables in '/usr/local/lib/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac'
[debug] [Chromedriver] The following Chromedriver executables were found:
[debug] [Chromedriver]     '/usr/local/lib/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac/chromedriver_mac64_v83.0.4103.39' (version '83.0.4103.39', minimum Chrome version '83')
[debug] [Chromedriver]     '/usr/local/lib/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac/chromedriver_mac64_v83.0.4103.14' (version '83.0.4103.14', minimum Chrome version '83')
[debug] [Chromedriver] Browser version in the supplied details: Chrome/83.0.4103.106
[debug] [Chromedriver] Found Chrome bundle 'undefined' version '83.0.4103'
[debug] [Chromedriver] Found 2 executables capable of automating Chrome '83.0.4103'.
[debug] [Chromedriver] Choosing the most recent, '/usr/local/lib/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac/chromedriver_mac64_v83.0.4103.39'.
[debug] [Chromedriver] If a specific version is required, specify it with the `chromedriverExecutable`desired capability.
[Chromedriver] Set chromedriver binary as: /usr/local/lib/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac/chromedriver_mac64_v83.0.4103.39
[debug] [Chromedriver] Killing any old chromedrivers, running: pkill -15 -f "/usr/local/lib/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac/chromedriver_mac64_v83.0.4103.39.*--port=8000"
[Chromedriver] No old chromedrivers seem to exist
[debug] [Chromedriver] Cleaning this device's adb forwarded port socket connections: emulator-5554
[debug] [ADB] List forwarding ports
[debug] [ADB] Running '/Users/squirrel/Documents/Android/sdk/platform-tools/adb -P 5037 -s emulator-5554 forward --list'
[Chromedriver] Spawning chromedriver with: /usr/local/lib/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac/chromedriver_mac64_v83.0.4103.39 --url-base=wd/hub --port=8000 --adb-port=5037 --verbose
[debug] [Chromedriver] Chromedriver version: '83.0.4103.39'