appium - test automation for mobile apps

20
Appium Test automation for mobile Apps

Upload: aleksejs-trescalins

Post on 15-Apr-2017

177 views

Category:

Technology


1 download

TRANSCRIPT

AppiumTest automation for mobile Apps

Why do we need to automate?

• Growing mobile app market and huge amount of users

• Even minor bug might be critical point to delete app right away

• Reusability• Faster• Cost Reduction

What to use?

• Appium is an open-source test automation tool

• Allows testing for all types of Mobile Applications: Native Apps, Hybrid Apps and Mobile Web Apps

• Important - it is “Cross-Platform”

• Appium is Cross Platform supporting iOS and Android + (WinPhone from 1.5 Appium version)

• Appium supports variety of the Programming languages like java, ruby, php C#, javascript, etc.

• Appium handles both Simulators and Real devices

• Appium is based on Selenium Webdriver

• Appium is very well supported and have active community

Philosophy• No app modification• Use any programming language• Implement a standard API

(Selenium/WebDriver)• Huge community

iOS requirements• Mac OS X 10.7 or later• Xcode (>=4.6.3) with command line tool• Java version 7 or later• Homebrew• Node and npm

Android requirements

• Java version 7 or later• Android SDK API (version 17 or later)• Android Virtual Device or real device

Architecture• HTTP server written in Node.js• Handles WebDriver sessions• Apple Instruments & UIAutomation for iOS• Google UiAutomator for Android (4.2.1 up)

Easy Install• iOS

• Just download the .app; That’s all• Android

• Download .app or .exe• Export one environmental variable

Appium.app• GUI for launching server

• Monitor Status• Set Preferences

• Inspector for probing your application• Create hooks for UI elements in your app• Try out actions• Recording• Playback action• Convert UIAutomator JS to Appium Code

Demo iOS

Continuous Integration

Device Farms

Limitations

• Doesn’t support image comparison• No Record/Play functionality on Windows• Hard to locate elements comparing to Web

Benefits• Easy to setup• Almost no additional knowledge required if already worked

with Selenium• Can be integrated to almost any device farm platforms• Can be integrated into CI process• Variety of programming languages supported• Cross-platform• Real device + simulator/emulator• Huge community + easy to find solutions in google