From f7264d848ebcaaba1b7449ee63324992eb5907a4 Mon Sep 17 00:00:00 2001 From: "Isaac A. Murchie" Date: Tue, 3 Apr 2018 05:08:02 -0400 Subject: [PATCH] Add new chromedriver caps to docs (#10448) --- docs/en/writing-running-appium/caps.md | 2 ++ .../web/chromedriver.md | 23 +++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/docs/en/writing-running-appium/caps.md b/docs/en/writing-running-appium/caps.md index 43b7df9bd..a7b528b50 100644 --- a/docs/en/writing-running-appium/caps.md +++ b/docs/en/writing-running-appium/caps.md @@ -85,6 +85,8 @@ These Capabilities are available only on Android-based drivers (like |`keyAlias`| Alias for key |e.g., `androiddebugkey`| |`keyPassword`| Password for key |e.g., `foo`| |`chromedriverExecutable`| The absolute local path to webdriver executable (if Chromium embedder provides its own webdriver, it should be used instead of original chromedriver bundled with Appium) |`/abs/path/to/webdriver`| +|`chromedriverExecutableDir`| The absolute path to a directory to look for Chromedriver executables in, for automatic discovery of compatible Chromedrivers |`/abs/path/to/chromedriver/directory`| +|`chromedriverChromeMappingFile`| The absolute path to a file which maps Chromedriver versions to the minimum Chrome that it supports |`/abs/path/to/mapping.json`| |`autoWebviewTimeout`| Amount of time to wait for Webview context to become active, in ms. Defaults to `2000`| e.g. `4`| |`intentAction`| Intent action which will be used to start activity (default `android.intent.action.MAIN`)| e.g.`android.intent.action.MAIN`, `android.intent.action.VIEW`| |`intentCategory`| Intent category which will be used to start activity (default `android.intent.category.LAUNCHER`)| e.g. `android.intent.category.LAUNCHER`, `android.intent.category.APP_CONTACTS` diff --git a/docs/en/writing-running-appium/web/chromedriver.md b/docs/en/writing-running-appium/web/chromedriver.md index c581e09c8..b83e97880 100644 --- a/docs/en/writing-running-appium/web/chromedriver.md +++ b/docs/en/writing-running-appium/web/chromedriver.md @@ -88,6 +88,29 @@ check out the release commit, and check the variable `kMinimumSupportedChromeVer in the file `src/chrome/test/chromedriver/chrome/version.cc`. (To find the release commits, you can use `git log --pretty=format:'%h | %s%d' | grep -i "Release Chromedriver version"`.) +### Automatic discovery of compatible Chromedriver + +Beginning with Appium 1.8.0, Appium is able to pick the correct Chromedriver for the +version of Chrome under test. While Appium only comes bundled with the Chromedriver +most recently released at the time of the Appium version's release, more Chromedriver +versions can be downloaded and either placed inside the Appium installation (_not + recommended_ since upgrading Appium will remove them) or in a custom location, +which can be indicated to Appium with the `chromedriverExecutableDir` desired +capability. This capability is the absolute path to the directory in which you have +placed one or more Chromedriver executables. + +As well, since new versions of Chromedriver may be available that were not when +an Appium version was released, a custom mapping of Chromedrivers to the minimum +Chrome version they support can be given to Appium through the `chromedriverChromeMappingFile` +desired capability. This should be the absolute path to a file with the mapping +in it. The contents of the file need to be parsable as a JSON object, like: +```JSON +{ + "2.42": "63.0.3239", + "2.41": "62.0.3202" +} +``` + ### Installing an network issues When Appium is installed it needs to download Chromedriver, so there is the possibility