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/