As you know, Appium was originally built on the idea that developers (as well as testers and QA folks) could use their favourite 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 Testdroid 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 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 framwork 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 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.
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 of 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
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 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 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.
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 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 -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.
$ npm install -g grunt-cli
Learn more here on Working with an existing Grunt project.
Platforms – Setting Up Development Tools
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).
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: