This blog will give you an overview of mobile automation testing using Appium. Appium is an open-source tool for automating native, mobile web, and hybrid applications on iOS and Android platforms.It is a Node.js server that automates native and hybrid mobile applications. We can write the tests in any language supported by Selenium, using the WebDriver API.
Native apps are those written using the iOS or Android SDKs. Hybrid apps have “webview” with a wrapper around - a native control that enables interaction with web content. Mobile web apps are those that can be access using a mobile browser (Appium supports Safari on iOS and Chrome or the built-in ‘Browser’ app on Android).
It is easy to write tests against mobile apps, especially after using Selenium and Web Driver. The same test code is used for testing both the mobile site and the native Android / iOS app. The only difference is in setting up the configuration, where you actually tell it to use the Web Driver, Remote Web Driver, Appium Driver or the Android Driver.Appium automates Android and IOS using the UI Automator library, which is provided by Google as part of the Android SDK and Appium inspector for IOS.
Appium Inspector and UI automator viewer tool are very handy when identifying some visual elements in the applications. Appium inspector is a combination of the Appium server itself and the inspector, that is used to discover all the visible elements of your app while developing your test scripts.This inspector works well for iOS, but for Android there are some problem areas with it. To that end, we encourage the use of ui automator viewer.
The UI automator viewer tool provides a convenient GUI to scan and analyze the UI components displaying on android device.You can use this tool to inspect the layout hierarchy and view the properties of UI components that are visible on the foreground of the device.This information lets you create more fine-grained tests using UI Automator, for example by creating a UI selector that matches a specific visible property.The UI Automator API is bundled in the UI Automator.jar file under the /platforms/ directory. The API includes these key classes, interfaces, and exceptions that allow you to capture and manipulate UI components on the target app.
Appium runs on real devices and emulators. It takes the Selenium commands from your test code and translates them into a readable format for UI Automator, using the WebDriver JSON Wire Protocol. The UI Automator testing framework lets you test your user interface (UI) efficiently by creating automated functional and UI test cases that can be run against your app on one or more devices.