Prerequisites
macOS
You will need a computer with macOS.
https://www.apple.com/macos
[macOS 10.13 High Sierra]
It is also possible to use Windows. Please refer to Appium documentation for details.
Android Studio
https://developer.android.com/studio/
[Android Studio 3.1.4]
Appium
Appium is the bridge between Rapise and mobile simulators and devices. The easiest way to install it is to use Terminal.
> brew install node # get node.js
> npm install -g appium # get appium
http://appium.io/
[Appium 1.9]
Appium Doctor
Use appium-doctor to diagnose and fix common Node and iOS configuration issues before starting Appium.
> npm install appium-doctor -g # install
> appium-doctor --android # check Android environment
https://github.com/appium/appium-doctor
A common issue is related to missing ANDROID_HOME and JAVA_HOME variables. They should be set in .bash_profile:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
export ANDROID_HOME=/Users/<username>/Library/Android/sdk
export PATH=${PATH}:$ANDROID_HOME/emulator:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
Actual values may be different on your Mac machine.
Chromedriver
If upon connecting to a device you get an error
An unknown server-side error occurred while processing the command.
Original error: unknown error: Chrome version must be >= 55.0.2883.0
then navigate the link below to find out how to fix.
http://appium.io/docs/en/writing-running-appium/web/chromedriver/
Real Devices
Testing on Real Android Devices
Android device must be connected via USB cable and it should have USB debugging option enabled.
https://developer.android.com/studio/debug/dev-options
Android Debug Bridge (adb)
Android Debug Bridge (adb) is a versatile command-line tool that lets you communicate with a device.
https://developer.android.com/studio/command-line/adb
To get list of connected devices open the terminal and run the command
> adb devices
Sample Application
We published a sample application on GitHub. Clone the repository and build with Android Studio.
https://github.com/Inflectra/AUTAndroid
Mobile Profile Configuration
UIAutomator2
If you are going to test a native or hybrid Android application make sure you set automationName capability in Common Capabilities section to UIAutomator2 in the mobile profile settings.
http://appium.io/docs/en/drivers/android-uiautomator2/