appium - reality check on the world’s leading open source framework for mobile testing
TRANSCRIPT
AppiumReality check on the world’s leading Open Source Framework for Mobile Testing
4th Meetup of Mobile Apps Dev&Test
May 26, 2015Asaf Saar
Agenda
1. Intro
2. Evolution of Mobile
3. Appium Overview
4. Why Appium?
5. Reality Check
About Me
§ Asaf Saar, CEO & CTO of TenKod Ltd.
§ 20 years of professional experience in So>ware Engineering
§ Prior to TenKod, 8 years at SAP, last role as APO of SE
§ Agile So>ware Engineering trainer, coacher and mentor
§ Married to Merav and father of three
§ Astronomy and fast cars are my hobbies
http://il.linkedin.com/in/asafsaar [email protected]
The world goes mobile
TenKod enables organizations
to maximize profit by changing the way mobile apps are being
delivered!
Evolution of Mobile - Devices
§ 1973 – First handheld mobile developed § 1984 – Nokia talkman
§ 1992 – Motorola InternaRonal 3200 § 1994 – IBM Simon Personal Communicator
§ 1996 – Motorola Startac § 1998 – Nokia 5110 § 1999 – BlackBerry 850
§ 2007 – iPhone § 2008 – Android
Evolution of Mobile - OS
§ 1973-‐1993 – Embedded System based OS § 1996 – Palm Pilot, Windows CE
§ 2000 – Symbian § 2002 – BlackBerry
§ 2007 – iOS, Windows Mobile § 2008 – Android § 2009 – webOS, Bada, Palm OS
§ 2011 – Tizen § 2012 – Firefox OS
§ 2013 – Ubuntu Touch
World’s most popular OS and Smartphones till 2010…
Mobile Development LandscapeDevelopment Targets § OS Level
§ NaRve § Web
§ Hybrid Development Landscapes § Single developer
§ Team § Staging
§ Cloud § Hybrid
Development Frameworks § Android SDK
§ iOS ObjecRveC/Swi> § Windows Mobile / .NET
§ PhoneGap § Titanium Appcelerator § Xamarin
§ Appery.io § Angular UI
§ Sencha Touch § ………
iOS Challenge
§ 15 DisRnct Devices (coun&ng from iPhone 4S…)
§ 70% of users adopt latest OS within 6 months
§ 8 DisRnct screen dimensions
§ 18,796 DisRnct Devices (as of 8/14…)
§ 5% of users adopt latest OS
§ 150 DisRnct screen dimensions
Android Challenge
Mobile is Mission Critical
Source: Perfecto Mobile, Achieving Continuous Quality eBook
§ Mobile adopRon is growing 8 Rmes faster than web
§ 60% of online traffic now originates from mobile devices
§ 73% of Millennials are transacRng directly from mobile
§ More than 80% of mobile Rme is spent within naRve apps
§ Windows Phone and BlackBerry devices account for a total
of 7% in EU5 and 4% in the U.S.
Before we dive to Appium
This session is all about reading between the lines and paying a>en&on to details…
Appium
Appium is an open source test automaRon framework for use with naRve, hybrid and mobile web apps.
http://appium.io/slate/en/master/?java#about-appium
Why Appium?
§ Mobile Test AutomaRon for iOS and Android
§ Automate NaRve, Web and Hybrid apps
§ InstrumentaRon free
§ Uses standard automaRon libraries of Android and iOS
§ Support for any WebDriver compaRble language
§ Use any TesRng Framework
Appium GUIAppium provides two desktop apps for server configuraRon, UI inspecRon and recording: § Mac OS – for Android and iOS § Windows – for Android
Appium InspectorA tool part of the Appium GUI Let you inspect your app’s UI and record user acRons
Demo…
The good§ Open Source tool with a live community
§ No InstrumentaRon
§ Server is fully parameterized
§ Works with real devices as well as simulators and emulators
§ WebDriver & Page Objects enable cross plaiorm test code
§ Appium GUI provides a good kick start to newbies
§ AutomaRc code generaRon with Inspector
Appium @ the real world, #1Cable & Wireless Communica&ons is a Bri&sh mul&na&onal
telecommunica&ons company headquartered in London, United
Kingdom with opera&ons in the US and Pan-‐America.
Requirements:
1. Automate LIME mobile app – iOS & Android NaRve apps
2. Conduct scheduling calling from iOS & Android devices
across the US and Central America, log calls in excel file and
later compare with backend system.
Appium is a NO GO for iOS
Appium @ the real world, #2LetMobile, an Israeli startup that was acquired in 2014 by
LANDESK SoSware, it provides Secure Mobile E-‐Mail enables
employees to read their corporate mail from any mobile device.
Requirements:
1. Automate LetMobile app on iOS & Android:
Launch LetMobile app, login to server, install iOS security
profile in selngs app, switch to built-‐in iOS Mail app, review
mail content, switch back to LetMobile app, login to server,
switch back to Mail app and read Mail review mail content.
Appium is a NO GO for iOS
The not so good – SetupSetup is a bit tedious
§ DocumentaRon is messy and not up-‐to date
§ A lot of prerequisites and manual steps:
Java, Android SDK, Maven / Ant, Node.js, Xcode, Xcode,
Command Line Tools
§ Install Brew/Homebrew, NPM, Appium app, Appium Client
§ iOS Real device setup is a big headache
The not so good – UsageNot really prime Rme ready
§ Android and IOS only, while iOS is on Mac OS only
§ iOS is based on Xcode Instruments…
§ … Hence no Parallel iOS test execuRon is possible
§ iOS automaRon of AUT only, NO context switch is possible
(put app in background is NOT stable)
§ Android keyboard can not be automated (Send Keys only)
§ Time required to implement robust test code is high
§ Development (OOP) knowledge is a must
The not so good – Appium GUIAppium GUI is
§ Not a standalone automaRon tool
§ Good support for NaRve apps
§ Yet No support for Web and Hybrid
§ No Linux version
§ Generated code relies heavily on absolute Xpaths
§ Can’t automate spinner wheels, noRficaRons, toast
messages
§ And it is VERY buggy…
Tips for getting things running§ Internalize that Appium is a framework and not a product
§ Internalize that Open Source does cost money
§ Pay apenRon to details before diving into the implementaRon
§ Implement a project build tool, e.g. Maven
§ Learn WebDriver API and Page Objects Design Papern
§ Use Chrome Developer Tools, Firebug, etc. for hybrid and web
§ Setup parallel tesRng of iOS via Mobile Cloud that supports it
References and trademarks:
1. TenKod name, logo and icon are trademarks of A.O.E TenKod Ltd.
2. Amazon AWS name and logo are trademarks of Amazon Web Services, Inc. or its
affiliates.
3. Eclipse name and logo are the intellectual property of the Eclipse FoundaRon.
4. Sonatype and Sonatype Nexus are trademarks of Sonatype, Inc.
5. Apache Maven and Maven are trademarks of the Apache So>ware FoundaRon.
6. M2Eclipse is a trademark of the Eclipse FoundaRon.
7. Git is a member of So>ware Freedom Conservancy
8. All other trademarks are the property of their respecRve owners.