Mastering Mobile Test
Automation with Appium
HOUSEKEEPING
• Ask us questions in the Q&A panel
• We will send you the recording and slides
2© 2018, Perfecto Mobile Ltd. All Rights Reserved.
Speakers
• Eran Kinsbruner
• Lead Technical Evangelist at Perfecto
• Blogger and Speaker
• http://mobiletestingblog.com
• https://www.infoworld.com/author/Eran-Kinsbruner/
• 18+ Years in Development & Testing
• Author of The Digital Quality Handbook, and Continuous Testing for
DevOps Professionals
• Twitter: @ek121268 (https://twitter.com/ek121268)
• Blog: http://continuoustesting.blog
• Uzi Eilon
• CTO, Perfecto
• Over 18 Years in Software Development
• 10+ years of experience in implementing and advising on test strategies for
fortune 500 enterprises and leading tech companies
• Co-Author in both The Above-Mentioned Books
Agenda
• The State of Continuous Testing
• Introduction to Appium framework
• Mastering Test authoring with Appium
• Using Appium Studio
• Using BDD and Quantum
• Integrating Appium testing into the Pipeline
• Q & A
4© 2015, Perfecto Mobile Ltd. All Rights Reserved.
Continuous Testing for Digital Has Never Been
More Complex
5© 2018, Perfecto Mobile Ltd. All Rights Reserved.
Augmented Reality
Virtual Reality
IOT
Artificial Intelligence
Mobile
Progressive Web
Continuous
Testing for
Digital
Licenses In-use Disconnected
Orchestration issues
Network Availability Data
Backend issues
Objects Codding Time Other
Scripts & FW issues
• 10% of devices, causing 80% of lab issues
Networking Stability Config Lock
Lab issues
Smart insights are key for Test Automation success
Backen
d
30%
Lab
15%
Orchestration
15%
Scripts & FW
40%
What’s
wrong
with my
Scripts
What’s wrong
with my
Executions
What’s wrong
with my Lab
What’s wrong
with my
Backend
Introduction to Appium
Introduction to Appium
8© 2018, Perfecto Mobile Ltd. All Rights Reserved.
Appium is an open source test automation framework
for use with native, hybrid and mobile web apps.
It drives iOS, Android, and Windows apps using the
WebDriver protocol.
https://developer.android.com/training/testing/ui-automator
https://developer.apple.com/documentation/xctest
Appium Timeline
Appium syntax
Get WebDriver:
Appium – Test Flow
Execute
command
Build /
Appium
client
Build
upload
Execute Data
Execute
Appium Test Authoring – Appium Studio
Live Demo
How to use Appium Studio to
Retrieve ObjectID on Cloud-
Based Devices
Appium Test Authoring – BDD/Quantum
Architecture
Perfecto Report
Object Spy
Repository
file
Live dashboard
Cucumber BDD test
Test Java code
testNG
Perfecto utils
Pre define steps
User
advance
code
Script creation Execute Report
Access to devices
Remote debugging
Real devices and browsers
Manual services
BDD – Cucumber
Test -Feature files
Pre define steps
by Perfecto
Logical steps
created by
customers
BDD – Object Repository
objectID = locatorID = locator
Execution – Threads and devices
Each test = new thread with the requested device
Thread 1
iOS
Thread 2
Android
Live Demo – How Good Looks Like
1. Appium basic script creation
2. Advanced Options – Check
Deposit
3. Parallel Execution (iOS)
4. Connecting Script to CI (Pipeline)
5. Smart Reporting
Demo Resources
https://github.com/UziEilon/PerfectoBank.git
Thank You

Mastering Mobile Test Automation with Appium

  • 1.
  • 2.
    HOUSEKEEPING • Ask usquestions in the Q&A panel • We will send you the recording and slides 2© 2018, Perfecto Mobile Ltd. All Rights Reserved.
  • 3.
    Speakers • Eran Kinsbruner •Lead Technical Evangelist at Perfecto • Blogger and Speaker • http://mobiletestingblog.com • https://www.infoworld.com/author/Eran-Kinsbruner/ • 18+ Years in Development & Testing • Author of The Digital Quality Handbook, and Continuous Testing for DevOps Professionals • Twitter: @ek121268 (https://twitter.com/ek121268) • Blog: http://continuoustesting.blog • Uzi Eilon • CTO, Perfecto • Over 18 Years in Software Development • 10+ years of experience in implementing and advising on test strategies for fortune 500 enterprises and leading tech companies • Co-Author in both The Above-Mentioned Books
  • 4.
    Agenda • The Stateof Continuous Testing • Introduction to Appium framework • Mastering Test authoring with Appium • Using Appium Studio • Using BDD and Quantum • Integrating Appium testing into the Pipeline • Q & A 4© 2015, Perfecto Mobile Ltd. All Rights Reserved.
  • 5.
    Continuous Testing forDigital Has Never Been More Complex 5© 2018, Perfecto Mobile Ltd. All Rights Reserved. Augmented Reality Virtual Reality IOT Artificial Intelligence Mobile Progressive Web Continuous Testing for Digital
  • 6.
    Licenses In-use Disconnected Orchestrationissues Network Availability Data Backend issues Objects Codding Time Other Scripts & FW issues • 10% of devices, causing 80% of lab issues Networking Stability Config Lock Lab issues Smart insights are key for Test Automation success Backen d 30% Lab 15% Orchestration 15% Scripts & FW 40% What’s wrong with my Scripts What’s wrong with my Executions What’s wrong with my Lab What’s wrong with my Backend
  • 7.
  • 8.
    Introduction to Appium 8©2018, Perfecto Mobile Ltd. All Rights Reserved. Appium is an open source test automation framework for use with native, hybrid and mobile web apps. It drives iOS, Android, and Windows apps using the WebDriver protocol. https://developer.android.com/training/testing/ui-automator https://developer.apple.com/documentation/xctest
  • 9.
  • 10.
  • 11.
    Appium – TestFlow Execute command Build / Appium client Build upload Execute Data Execute
  • 12.
    Appium Test Authoring– Appium Studio
  • 13.
    Live Demo How touse Appium Studio to Retrieve ObjectID on Cloud- Based Devices
  • 14.
    Appium Test Authoring– BDD/Quantum
  • 15.
    Architecture Perfecto Report Object Spy Repository file Livedashboard Cucumber BDD test Test Java code testNG Perfecto utils Pre define steps User advance code Script creation Execute Report Access to devices Remote debugging Real devices and browsers Manual services
  • 16.
    BDD – Cucumber Test-Feature files Pre define steps by Perfecto Logical steps created by customers
  • 17.
    BDD – ObjectRepository objectID = locatorID = locator
  • 18.
    Execution – Threadsand devices Each test = new thread with the requested device Thread 1 iOS Thread 2 Android
  • 19.
    Live Demo –How Good Looks Like 1. Appium basic script creation 2. Advanced Options – Check Deposit 3. Parallel Execution (iOS) 4. Connecting Script to CI (Pipeline) 5. Smart Reporting
  • 20.
  • 22.