How to Appium: Introduction to Appium – an API to automate mobile appsGo Back
- Posted by Elias
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.
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. (I get this description from Appium.io website).
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.
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.
What you can do with 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.
About the Author
Elias 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.