Appium – What Is It?
As our phones and tablets become more and more powerful, the possibilities for the apps that we can develop for them gets bigger all the time. Because of this, mobile testing is becoming more and more important, and a skill that software testers are almost expected to have. This means that there is an increasing demand for automation solutions for mobile testing.
One of the more popular solutions available is Appium, and it’s the one that we are going to be learning about today.
Appium is based on the Selenium framework, and uses drivers to automate both native, hybrid and mobile web apps. It’s probably best to think of it as a casing to the Selenium framework and it uses WebDriver to communicate to via a server in the form of a desktop application.
When you install the desktop application, it exposes a REST API which will then send and receive responses via a remote WebDriver to a mobile test automation framework, the two you’ll most commonly use being Apple Instruments for iOS devices, and Google UIAutomator for Android. This then allows tests to be run against emulated devices or real devices depending on the environment. If you’re testing an emulated device, then it is something that needs to be installed on top of the Appium desktop app, as well as other requirements, so it does take some initial setup. We will learn about all this setup in the next article, but it is important to mention that it isn’t quite as simple to get started with as Selenium and running tests requires some software to always be running on your machine.
So, we’ve learned that Appium is based on Selenium, and like Selenium uses WebDriver as well as an HTTP server to send and receive commands to mobile automation frameworks. Mostly importantly, we’ve learned that a lot of our Selenium skills and knowledge are still relevant. The way that you locate and interact with elements is virtually the same, which we’ll see in the next article in this series.
In the next article, we’ll learn how to set Appium up as well as write our first test. Covering the basics you’ll need to begin working with this great mobile testing framework.