Appium - Reality check on the world’s leading Open Source Framework for Mobile Testing

26
Appium Reality check on the world’s leading Open Source Framework for Mobile Testing 4 th Meetup of Mobile Apps Dev&Test May 26, 2015 Asaf Saar [email protected] www.tenkod.com

Transcript of Appium - Reality check on the world’s leading Open Source Framework for Mobile Testing

Page 1: Appium - Reality check on the world’s leading Open Source Framework for Mobile Testing

AppiumReality check on the world’s leading Open Source Framework for Mobile Testing

4th Meetup of Mobile Apps Dev&Test

May 26, 2015Asaf Saar

[email protected]

Page 2: Appium - Reality check on the world’s leading Open Source Framework for Mobile Testing

Agenda

1. Intro

2. Evolution of Mobile

3. Appium Overview

4. Why Appium?

5. Reality Check

Page 3: Appium - Reality check on the world’s leading Open Source Framework for Mobile Testing

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]

Page 4: Appium - Reality check on the world’s leading Open Source Framework for Mobile Testing

The world goes mobile

TenKod enables organizations

to maximize profit by changing the way mobile apps are being

delivered!

Page 5: Appium - Reality check on the world’s leading Open Source Framework for Mobile Testing
Page 6: Appium - Reality check on the world’s leading Open Source Framework for Mobile Testing

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  

Page 7: Appium - Reality check on the world’s leading Open Source Framework for Mobile Testing

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…

Page 8: Appium - Reality check on the world’s leading Open Source Framework for Mobile Testing

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  §  ………  

Page 9: Appium - Reality check on the world’s leading Open Source Framework for Mobile Testing

iOS Challenge

§  15  DisRnct  Devices  (coun&ng  from  iPhone  4S…)  

§  70%  of  users  adopt  latest  OS  within  6  months  

§  8  DisRnct  screen  dimensions  

Page 10: Appium - Reality check on the world’s leading Open Source Framework for Mobile Testing

§  18,796  DisRnct  Devices  (as  of  8/14…)  

§  5%  of  users  adopt  latest  OS  

§  150  DisRnct  screen  dimensions  

Android Challenge

Page 11: Appium - Reality check on the world’s leading Open Source Framework for Mobile Testing

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.  

Page 12: Appium - Reality check on the world’s leading Open Source Framework for Mobile Testing

Before we dive to Appium

This  session  is  all  about  reading  between  the  lines  and  paying  a>en&on  to  details…  

Page 13: Appium - Reality check on the world’s leading Open Source Framework for Mobile Testing

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

Page 14: Appium - Reality check on the world’s leading Open Source Framework for Mobile Testing

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  

Page 15: Appium - Reality check on the world’s leading Open Source Framework for Mobile Testing

Appium GUIAppium  provides  two  desktop  apps  for  server  configuraRon,  UI  inspecRon  and  recording:  §  Mac  OS  –  for  Android  and  iOS  §  Windows  –  for  Android    

Page 16: Appium - Reality check on the world’s leading Open Source Framework for Mobile Testing

Appium InspectorA  tool  part  of  the  Appium  GUI  Let  you  inspect  your  app’s  UI  and  record  user  acRons  

Page 17: Appium - Reality check on the world’s leading Open Source Framework for Mobile Testing

Demo…

Page 18: Appium - Reality check on the world’s leading Open Source Framework for Mobile Testing

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  

Page 19: Appium - Reality check on the world’s leading Open Source Framework for Mobile Testing

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

Page 20: Appium - Reality check on the world’s leading Open Source Framework for Mobile Testing

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

Page 21: Appium - Reality check on the world’s leading Open Source Framework for Mobile Testing

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  

Page 22: Appium - Reality check on the world’s leading Open Source Framework for Mobile Testing

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  

Page 23: Appium - Reality check on the world’s leading Open Source Framework for Mobile Testing

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…  

Page 24: Appium - Reality check on the world’s leading Open Source Framework for Mobile Testing

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  

Page 25: Appium - Reality check on the world’s leading Open Source Framework for Mobile Testing

Thank you!

Copyright © 2015 TenKod Ltd. All rights reserved

Asaf Saar

[email protected]

Page 26: Appium - Reality check on the world’s leading Open Source Framework for Mobile Testing

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.