Skip to content

As you know, Appium was originally built on the idea that developers (as well as testers and QA folks) could use their favorite tools, frameworks, and programming languages when creating automated tests for mobile apps. Appium has been an awesome open source project that many people have contributed and many have extended with other additional advanced features. That’s what we’ve been doing here at Bitbar and helped thousands of mobile developers using this great framework to make mobile app testing smooth, easy and feature-rich.

It’s time to look at some of the best online resources to get help and make your Appium use yet more frictionless.

We’ve covered lots of different topics in Appium framework itself, installation, programming languages, tools, and provided tips, tricks and best practices in our Appium Tutorial – and this time we’ll list out few things that are essential when you are working with Appium. Some of these things are must in your daily work and surely we’ll help to get the best out of your test automation effort as well as making things work instantly out-of-the-box. Do not forget to download this complete guide for Appium beginners and follow the instructions there to verify your Appium testing environment.

Appium Infrastructure, Real Devices and Cloud

It is always recommended to use real devices with Appium (like with other test automation frameworks too). This way you’ll find the real issues that end-users face when running your app on their devices.

Parallel Test Runs with Appium on Real Devices (unlimited no. of devices)

Tools & Utilities to Make Appium Use Easier

Especially if you are starting out with Appium and do not have much experience with similar test automation frameworks, it’s highly recommended to get all dependencies and especially those tools/utilities installed. You can use the following tools to make sure everything is accessible in your system:

Java SDK 1.8
The openjdk-8-jdk package is recommended and can be installed with the following command line call:

$ sudo apt-get install openjdk-8-jdk

Apache Ant
Apache Ant is a Java library and command-line tool whose mission is to drive processes described in build files as targets and extension points dependent upon each other. The main known usage of Ant is the build of Java applications.

Apache Maven

Apache Maven is a dependency management and build system tool. Based on its concept of a project object model (POM), Maven can manage a project’s build, reporting and documentation from a central piece of information.

unzip apache-maven-3.3.9-bin.zip

or

tar xzvf apache-maven-3.3.9-bin.tar.gz

Ruby Version Manager

RVM (Ruby Version Manager) is a neat command-line tool which allows quick and easy installations, management of multiple versions and Ruby environments with interpreters and any set of gems. You can simply get it to install with these instructions:

$ curl -sSL https://get.rvm.io | bash -s stable
$ rvm install ruby
$ ruby -v

And it should point out the version of Ruby you are using and are set up with.

Ruby Package Manager and Ruby Dependency Manager

First, check what version of RubyGems you’ve installed and update it. This will also take care of Bundler update:

$ gem update --system
$ gem install --no-rdoc --no-ri bundler
$ gem update
$ gem cleanup

Check that RubyGems is higher than 2.1.5:

$ gem --version

Execute bundler at the Ruby example directory to install dependencies:

$ bundle install

Node.js and Node.js Package Manager (NPM)

Node.js is an efficient and lightweight JavaScript runtime and with its package ecosystem one of the largest open source library. Start checking first which version is installed on your machine:

$ node -v
It's recommended to run the latest but at least v0.10.32. If you don't have one, just update it with the following command:
$ sudo npm install npm -g

Alternatively, you can also download it manually and update.

Grunt – JavaScript Task Runner

Grunt is a JavaScript task runner and its ecosystem is already pretty large. There are hundreds of different plugins that can help you to automate various activities in your daily tasks. Again, check what version (if any) you have in use, update or install the latest one:

$ npm install -g grunt-cli

Learn more here on Working with an existing Grunt project.

Screen Shot 2016-05-03 at 1.34.48 PM

Platforms – Setting Up Development Tools

iOS

First of all, Appium required Mac OS X Lion (10.7+) or newer to run, and it’s always recommended to use the latest and greatest. When developing for iOS make sure your Xcode environment is properly set up. For instance, read How to Install Xcode, Homebrew, Git, RVM, Ruby & Rails on Mac OS X to get all specific details on how to setup Ruby with all depedencies, proper Xcode configuration etc. to get started with Appium for iOS. For Xcode requirements, there seems to be quite a lot of issues with older ones (6.x) so use the latest one and preferably with the latest iOS devices (9.3.1 at the moment).

Android

This probably causes some discussion but setting up Appium for Android is easier that getting things working on Xcode/iOS. Just install the Android Studio. When this is done (and yes, it typically takes some time to install, configure and make sure all Android API levels are properly installed/set up) set $ANDROID_HOME environmental variable to point your Android SDK path. If you unzipped the Android SDK to /usr/local/adt/, for example, you should add this to your shell startup:

export ANDROID_HOME=“/user/path/here"

Video – How to Run Your Appium Tests

Ville-Veikko Helppi

Mobile Testing Product Expert