Appium Reality check on the world’s leading Open Source Framework for Mobile Testing 4th Meetup of Mobile Apps Dev&Test May 26, 2015 Asaf Saar asaf.saar@tenkod.com www.tenkod.com
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 asaf.saar@tenkod.com
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 Landscape Development  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 GUI Appium  provides  two  desktop  apps  for  server  configuraRon,  UI   inspecRon  and  recording:   §  Mac  OS  –  for  Android  and  iOS   §  Windows  –  for  Android    
Appium Inspector A  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, #1 Cable   &   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, #2 LetMobile,   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 – Setup Setup  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 – Usage Not  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 GUI Appium  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  
Thank you! Copyright © 2015 TenKod Ltd. All rights reserved Asaf Saar asaf.saar@tenkod.com www.tenkod.com
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.  

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

  • 1.
    Appium Reality check onthe world’s leading Open Source Framework for Mobile Testing 4th Meetup of Mobile Apps Dev&Test May 26, 2015 Asaf Saar asaf.saar@tenkod.com www.tenkod.com
  • 2.
    Agenda 1. Intro 2. Evolution of Mobile 3. AppiumOverview 4. Why Appium? 5. Reality Check
  • 3.
    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 asaf.saar@tenkod.com
  • 4.
    The world goesmobile TenKod enables organizations to maximize profit by changing the way mobile apps are being delivered!
  • 6.
    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  
  • 7.
    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…
  • 8.
    Mobile Development Landscape Development  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   §  ………  
  • 9.
    iOS Challenge §  15  DisRnct  Devices  (coun&ng  from  iPhone  4S…)   §  70%  of  users  adopt  latest  OS  within  6  months   §  8  DisRnct  screen  dimensions  
  • 10.
    §  18,796  DisRnct  Devices  (as  of  8/14…)   §  5%  of  users  adopt  latest  OS   §  150  DisRnct  screen  dimensions   Android Challenge
  • 11.
    Mobile is MissionCritical 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.  
  • 12.
    Before we diveto Appium This  session  is  all  about  reading   between  the  lines  and  paying   a>en&on  to  details…  
  • 13.
    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
  • 14.
    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  
  • 15.
    Appium GUI Appium  provides  two  desktop  apps  for  server  configuraRon,  UI   inspecRon  and  recording:   §  Mac  OS  –  for  Android  and  iOS   §  Windows  –  for  Android    
  • 16.
    Appium Inspector A  tool  part  of  the  Appium  GUI   Let  you  inspect  your  app’s  UI  and  record  user  acRons  
  • 17.
  • 18.
    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  
  • 19.
    Appium @ thereal world, #1 Cable   &   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
  • 20.
    Appium @ thereal world, #2 LetMobile,   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
  • 21.
    The not sogood – Setup Setup  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  
  • 22.
    The not sogood – Usage Not  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  
  • 23.
    The not sogood – Appium GUI Appium  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…  
  • 24.
    Tips for gettingthings 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  
  • 25.
    Thank you! Copyright ©2015 TenKod Ltd. All rights reserved Asaf Saar asaf.saar@tenkod.com www.tenkod.com
  • 26.
    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.