Support for mobile browsers is provided via \href{https://github.com/appium/appium}{\texttt{ appium}}. If you have used {\ttfamily webdriver-\/manager update -\/-\/android} or {\ttfamily webdriver-\/manager update -\/-\/ios}, when you run {\ttfamily webdriver-\/manager start}, Appium will automatically start on the port specified by {\ttfamily -\/-\/appium-\/port}.\hypertarget{md_sfcode_node_modules_protractor_node_modules_webdriver_manager_docs_mobile_autotoc_md23180}{}\doxysection{Android SDK}\label{md_sfcode_node_modules_protractor_node_modules_webdriver_manager_docs_mobile_autotoc_md23180}
{\ttfamily webdriver-\/manager} will not install the android SDK by default. If you want to test on android, run {\ttfamily webdriver-\/manager update -\/-\/android}. This will download the android SDK, Appium, and set up some virtual android devices for you to run tests against. By default, this will create only an android device running version 24 on x86-\/64. If you need a different device, you must use the {\ttfamily -\/-\/android-\/api-\/levels} and {\ttfamily -\/-\/android-\/abis} flags. So you might run a command like this\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{webdriver-\/manager update -\/-\/android -\/-\/android-\/api-\/levels 24 -\/-\/android-\/archs armeabi-\/v7a }

\end{DoxyCode}


Valid values for the {\ttfamily -\/-\/android-\/api-\/levels} flag are\+: {\ttfamily 24} and {\ttfamily 25}. You {\itshape can} specify a lower API level, but the virtual device create will not have Chrome installed.

Valid values for the {\ttfamily -\/-\/android-\/archs} flag are\+:


\begin{DoxyItemize}
\item {\ttfamily x86}
\item {\ttfamily x86\+\_\+64}
\item {\ttfamily armeabi-\/v7a} (or possibly some other 32-\/bit ARM architecture)
\item {\ttfamily arm64-\/v8a} (or possibly some other 64-\/bit ARM architecture)
\item {\ttfamily mips}
\end{DoxyItemize}

Note that we always use the {\ttfamily google\+\_\+apis/$\ast$} ABIs, since only those versions comes with chrome. So if you specify {\ttfamily -\/-\/android-\/archs x86\+\_\+64}, this tool will use the ABI {\ttfamily google\+\_\+apis/x86\+\_\+64}. If you wish to use a different platform (i.\+e. {\ttfamily android-\/wear}, {\ttfamily android-\/tv} or {\ttfamily default}), you can do so with the {\ttfamily -\/-\/android-\/platforms} flag. But only the {\ttfamily google\+\_\+apis} version comes with Chrome.

As a practical matter, if you don\textquotesingle{}t want to manually accept the license agreements, you can use {\ttfamily -\/-\/android-\/accept-\/licenses}, which will accept them on your behalf.

Once you have installed the Android SDK with the virtual devices you need, use {\ttfamily webdriver-\/manager start -\/-\/android} to boot up Appium and begin emulating your android device(s). By default {\ttfamily webdriver-\/manager} will emulate all available android devices. If you would rather emulate a specific device, use {\ttfamily -\/-\/avds}. So you might use\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{webdriver-\/manager start -\/-\/android -\/-\/avds android-\/23-\/default-\/x86\_64 }

\end{DoxyCode}


If you would prefer not to emulate any android virtual devices, use {\ttfamily -\/-\/avds none}.

If you need to specify the ports used by the android virtual devices, use {\ttfamily -\/-\/avd\+\_\+port}. The port you specify will be used for the console of the first device, and the port one higher will be used for its ADB. The second device will use the next two ports, and so on.\hypertarget{md_sfcode_node_modules_protractor_node_modules_webdriver_manager_docs_mobile_autotoc_md23181}{}\doxysubsection{\char`\"{}\+Welcome to Chome\char`\"{} UI}\label{md_sfcode_node_modules_protractor_node_modules_webdriver_manager_docs_mobile_autotoc_md23181}
Every time appium boots up chrome, a \char`\"{}\+Welcome to Chrome\char`\"{} dialog will pop up. It won\textquotesingle{}t interfere with your tests, since the webpage still renders underneath the dialog, and those tests access the webpage directly. However, you won\textquotesingle{}t be able to watch what\textquotesingle{}s going on unless you manually click \char`\"{}\+Accept \& Continue\char`\"{}. Also, since webdriver boots up a fresh chrome instance every time, chrome won\textquotesingle{}t remember that you\textquotesingle{}ve clicked \char`\"{}\+Accept \& Continue\char`\"{} between tests. Any time you want to actually watch the test as it\textquotesingle{}s run, you\textquotesingle{}ll need to click through the dialog again. For now, there is no good way around this sadly (\href{https://github.com/appium/appium/issues/6618}{\texttt{ https\+://github.\+com/appium/appium/issues/6618}}).\hypertarget{md_sfcode_node_modules_protractor_node_modules_webdriver_manager_docs_mobile_autotoc_md23182}{}\doxysection{i\+OS}\label{md_sfcode_node_modules_protractor_node_modules_webdriver_manager_docs_mobile_autotoc_md23182}
When you run {\ttfamily webdriver-\/manager update -\/-\/ios}, {\ttfamily webdriver-\/manager} will install Appium and check your computer for i\+OS simulation capabilities. {\ttfamily webdriver-\/manager} cannot download the xcode commandline tools for you however, nor can it agree to Apple\textquotesingle{}s user agreement. The xcode commandline tools come with several virtual devices pre-\/setup. If you need more, run {\ttfamily xcrun simctl} for help doing that.

Once you have installed Appium, {\ttfamily webdriver-\/manager} will launch it automatically when you run {\ttfamily webdriver-\/manager start}. Appium will automatically handle starting i\+OS device emulation as needed. 