Thank you.

Your uploaded files are waiting for moderation.



How to Appium: How to Use Appium – an API to automate mobile apps

Go Back
  • Posted by
  • 16/02/2017
Reading Time: 3 minutes

On the second Tuesday of the month our new contributor Elias will share a solution to an Appium problem that you might have. The How to…Appium series will focus on particular aspect of using Appium each month. If you have suggestion for any future posts, please comment below and we will add them to the list. This post will look at how to use Appium.

Find More Posts in the Appium series here:

How to Appium…Setting Desired Capabilities in Appium

Testing Web Views With Appium


In this post, we’ll learning theoretical, but important things before start puts our hands-on code automating tests with Appium:

  • What is the Appium for
  • What you can do with Appium

What is Appium for

Appium is an open source test automation framework for use with native, hybrid and mobile web apps.

This is a good start to explain to you what is a native, hybrid and mobile web app.

Before that Appium can automate apps developed for iOS Android mobile platforms.

Now imagine you can use different programming languages to automate your mobile test like Java, C#, Python, Ruby, Swift, JavaScript, PHP and Pearl

Appium works with a good adherence when using iOS or Android.

Appium is based on Selenium WebDriver, so most commands have the same way to write, but applicable only in mobile. It brings all the powerful Selenium functionalities to your mobile test script like the fluency to write code, waits and ability to work with different devices.

How To Use Appium

All the basic things on a mobile device

You can do the basic interactions like: fill, tap/click, swipe.

Also, you can do a lot of other interactions: open notification, install apps, reinstall apps, control Wi-Fi, data, airplane mode, rotate the screen, double tap, apply gestures and others interactions.

Use a real device, emulator or cloud

You can use a real iOS or Android device, as well emulators for Android like AVD – Android Virtual Device, Genymotion and other, and iPhone Simulator.

There are some device cloud services in the market. They provide a way to connect (thanks Selenium WebDriver) in these devices with a less effort and you can use devices that expensive to buy or hard to find.

Run your tests in a Grid

In a professional way, you have some devices to test, right? So, you may connect many devices (or emulators) in your machine and execute some exhaustive and manual tests that make you bored and waste some time.

With Selenium Grid you can connect iOS or Android devices and telling some information like the location (IP), name, platform, platform version and more. When the devices are registered on the grid you can tell to you test script in with device you would like to run and it can be based on device name, platform and platform version.

You can also run your tests in parallel if you create this approach in your mobile test project with a grid configured.

The sky is the limit

As Appium have total adherence to iOS and Android you can do what you can: enter on application, switch to platform and do some interactions and back to application again.

Bellow you will see a test execution in an Android app.


You can do all the testing stuff in mobile test automation with Appium.



Find Older Posts in the Appium Series here

Setting Desired Capabilities In Appium?

Testing Web Views With Appium


About the Author

Elias_ Nogueira how to use appiumElias Nogueira is a QA Engineer, Agile Coach and Trainer at Adaptworks. He is also a Post-Graduate Professor at Unisinos. Elias wants to help teams and organisations to test software in all test dimensions, mainly in a technical way using automation to get  fast feedback. He contributes to the testing community through blog posts, tutorials, videos, workshops and presentation for testers and developers.

Elias blogs at He can also be found on Twitter and LinkedIn if you want to get in touch.

See Also

Go Back

Blog Post Added By

- Solid experience with software testing/QA - Work experience with automated testing behind record and playback (creating automation frameworks) - Experience in various mobile testing automation frameworks - Broad understanding of web technologies in client-side (HTML, CSS, JavaScript) and back-end (Java, Ruby) - Ability to rapidly understand and question requirements to formulate tests - Excellent analytical problem - Ability to communicate clearly and concisely to both technical and business people - High skills in Agile and Agile Testing - Knowledge in testing of Data Quality, Geo application, Banking applications, Telecommunications and Retail business. - Advanced level in Software Testing, Functional Tests, Non-Functional and Automated Testing. - CSTE - Certified Software Tester (QAI - Quality Assurance Institute) - Advanced knowledge in Selenium/WebDriver browser automation tool. - Knowledge in Agile Testing methods, and traditional methodologies as well. - Advanced knowledge in Java Technology. - Speaker in several testing conferences in Brazil about Automated Software Testing subject. - Coordinator at Testing Trail at The Developers Conference 2010, 2011, 2012 and 2013 Specialties: test automation, agile, functional and non-functional test, teaching, communication, software architecture, work on pressure/stress and in a bureaucratic organization

Join the discussion!

Share your thoughts on this article by commenting below.

Leave a Reply

Your email address will not be published. Required fields are marked *

Skip to toolbar