Appium is an open source test automation framework for use with native, hybrid and mobile web apps. It allows creation of automated tests to validate mobile apps across many platforms including Android and iOS. Some key benefits of Appium include the ability to write tests once and run them on multiple platforms using a single codebase. It also supports integration with various tools for continuous integration, behavior driven development, reporting and page object modeling. Appium works by having an Appium server that mobile app testing clients communicate with via a JSON object of desired capabilities to start an automation session on the targeted app.
2. Why Mobile Functional automation ?.
● Internet user is moving from Desktop to Mobile.
● It is very difficult to keep product quality in Rapid development
cycles.
● To reduce manual testing effort during regression testing.
● To reduce manual testing effort to make sure device coverage.
3. Salient Features of Appium
● Successor of Selendroid and Selenium
● Support of All type of application (Web, Hybrid, Native)
● No modification is required in Application under test
● Open Source Community to provide knowledge sharing platform
● Test Script can be authored in All popular language like C#, Ruby, Java,
Python, JS
● Support of widely known mobile OS like Android, iOS
● Integrated with Selenium grid for parallel execution
● One Script for all target OS
● Integrated with vendor provided framework
● UI Automation for iOS
● Google’s UiAutomator
4. Benefits of Appium
● Can be integrated with
○ Continuous integration tools
○ BDD (Behavioural Driven Development)
○ Page Object Model
○ JUnit /Testng
● Various reporting functions can be integrated
● Various frameworks can be created according to project requirement.
5. Components of Appium
● Appium Server -Appium is a server written in Node.js. It can be
built and installed from source or installed directly from NPM.
● Desired Capabilities- These are set of keys and values which
are sent to Appium Server, to create appropriate automation session
needs to start.
● Appium Client- These are extension of Web driver protocol. It
contains all API’s to author test script in various languages
● Appium Inspector-To identify various elements on Hybrid/Native
App
● Appium Doctor -To check all dependencies are installed on
host machine.
6. How appium works ?
Start Appium Server- Ready to listen commands from the client
Appium Client sends Desired Capabilities(JSON Object)to Appium
Server.
Appium Server Sent Session id to Client
Now Communication will be happened Session based
Client will send further commands, Server as middle layer will
communicate commands to Automation Framework like UI
Automation/UI Automator.
7.
8. Basic Requirements to Setup
For Windows
● Windows 7+
● Android SDK Tool with API >=17
For Mac
● Mac OS X 10.7 >
● XCode > =4.6.3, 5,1,1, Recommended
● Apple Developer Tool
● Developer licence is required to connect Real devices
For FireFox OS
● FireFox OS Simulator
9. Limitations of Appium
● Need to author lot of code to build any new feature
● Identify Elements are little tricky
● iOS based app can not be tested on Window
● Appium Inspector/Doctor does not work on Windows
● Toast message are not supported