Mobile Automation Testing with Selenium and Appium - BugRaptors
23 April 2020
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 accessed 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 tools 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 the 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.
Significance of software testing is an essential part to improve the quality of a software product. There are strong possibilities that code has many errors, whether it is in the design phase or in the functionality phase. Software Testing Life Cycle (STLC) tells the sequence or process of different activities performed by the testing team in a planned manner to ensure the quality of the product. Check out the STLC life cycle to perform software testing that helps in identifying and rectifying the errors.
Healthcare is a scalable field where no one can take the risk of error as a single mistake can put multiple lives at stake. That’s the reason why testing of healthcare applications & health care devices are stringent where there should be no room for error.