SlideShare a Scribd company logo
How to Automate Mobile P2P Application with Appium
Canberk Akduygu
Ex-Java Developer
Chief Test Architect @ Testinium
Product Owner @ Loadium
Blogger @ swtestacademy
Testinium
200+ REAL Mobile Device
1000+ OS - Browser
Automation
+90 Engineers
Consultants and
more…
+120 People
Istanbul
Turkey
Continuous
R&D
Table of Content
Application Under Test
Solution’s Code Base
Building Custom Grid & Appium Solution
Challenges & Solutions
QA Session
Sidekick Components
Application Under Test
9 Country Support +18M Downloads
Basic features
Text / Image / Voice Messaging
VoIP / Video Calls
Gaming Features
Mobile Payment
Social Platform
+ in app purchase
Dealing with Mobile
Test Environments
iOS 11
iOS 10iOS 9
Xcode 7
Xcode 8
Xcode 9
Android 5 Android 6 Android 7
Appium 1.5.3
Appium 1.6
Appium 1.6.3
Building
Extended Grid
Solution
Neat Environment
Basic Mobile Automation Implementation
Android
iOS
Android
GRID
Appium Nodes
CI Tool
- Capabilities managed on Source Code Level.
- Test Automation Frameworks choice defined
with If-Else Structure.
Extended Grid
Testinium Grid
XCUITest and Instrumentation for iOS
Uiautomator and Uiautomator2 for Android
Extended Grid choose the appropriate version
of Appium and set desired capability with
testing framework according to properties
stored in Json file.
Testinium Test Executor
Challenge 2
Distributing the Test in Different Device
Sender Device Receiver Device
S2: Receive Photo
S3: Download Photo
S4: Replies Back
S1: Send Photo
S5: Check the Reply
Send Picture Scenario
Test runs parallel but not the way
you think of it!
Parallelism as we know: Running
one test case in different device with
the same steps.
Parallelism here: Running one test
case in different device with
different steps.
WhiHow are you going to check whether a new message
Received and it’s your turn to respond?
- Pass message content as a parameter for
second user to wait?
- Implicit or Explicit Waits causing timeouts.
- Or some other solution?
Waiter Strategy
Synchronize Mobile
Device
Working in a
Harmony
Syncronization Module
Android
iOS
Android
One GRID to Rule Them All and in the Syncronization to Bind Them
SynchronizerExt. Grid
Become the
Sender
Become the
Receiver
I am the Receiver
I am the Sender
Restful
Synchroniser
Service
How much is
Bitcoin?
Don’t Ask!!
Bankrupt on the way!
SM
MS
AUM
MR
SM : Send Message
MS . Message Sent
AUM: Any Unread Message
MR: Message Replied
Syncronization Multiple Mobile Device
Our Sidekicks
- Take Screenshots
- Record Execution Video
- PhoneUtils
Capture Video & Screenshots in Extended Grid
Video Recording
Taking Screenshots
Has a Native Video Recorder
Limitation is 3 minutes so we add videos
after test finishes
Android Debug Bridge records video
Android Debug Bridge capture screenshots
No Native Video Recorder
Capture 6-8 Screenshots/sec
and Combine them with a Ruby script.
3rd Party
https://github.com/libimobiledevice
Selenium Grid Appium
Extended
Grid Agent
Extended Node
Agent
Standart
Grid
Testinium
Grid
Test Request
Appium Request
Device LabVideo Recording Req.
Screen Capture Req.
App Install / Uninstall / Upgrade Req.
Upload Videos
Upload ScreenShots
Override Selenium’s beforeSession and afterSession method
Override Selenium’s beforeCommand and afterCommand method
Architecture of the Project
Test steps are implemented according to device layout and flow.
Android and IOS Page Object Models
Test Code Structure
Devices are set before the test.
Roles of those device are defined.
Syncronization status among device
are initialized.
Test Code Structure
Role Based Test Case is
defined.
Synchronisation status are
reset after every step.
https://www.linkedin.com/in/
canberkakduygu/
Thank You for
Your Time
Q & A
Session!

More Related Content

PPTX
Ios vs android
KEY
Android a brief intro
PDF
Sony robotics overview
PDF
IO17就是講義氣
PDF
JSDT 2.0 Eclipse DemoCamp (Walldorf)
PDF
Eclipse Neon Webinar - JSDT 2.0
PDF
10 Best Mobile Test Automation Tools Used by Experts | What Automation Tools ...
PPT
Intro to Android Programming
Ios vs android
Android a brief intro
Sony robotics overview
IO17就是講義氣
JSDT 2.0 Eclipse DemoCamp (Walldorf)
Eclipse Neon Webinar - JSDT 2.0
10 Best Mobile Test Automation Tools Used by Experts | What Automation Tools ...
Intro to Android Programming

What's hot (20)

PPTX
Kuberenetes Robotics Distributed System
PPTX
Barcode scanning on Android
PDF
PDF
Presenting BuddyBuild
PPTX
PPTX
Introduction to Android programming
PPTX
Mastering Mobile Test Automation with Appium
PDF
Kotlin Tutorial for Beginners | Kotlin Android Tutorial | Edureka
PDF
iOSDevUK Conference- DevOps for iOS Apps
PDF
Mobile OS Мобильный операционные системы вступление сравнение
PPTX
Android ppt
DOCX
1 common testing abbreviations
PDF
Wearable Connectivity Architectures
PPTX
Android Porting for Embedded Platforms
PDF
Android OpenGL ES remote rendering 蕭從恩
PPTX
How to Build a Successful API Program: Best Practices For the Carrier
PPTX
Immersion on Azure - Data base and Cognitive Service at a glance
PDF
Introduction Of Android Scripting Environment
PDF
Cara Terbaik Membangun Aplikasi Android TV dalam Menyongsong Era TV Digital -...
PDF
Mobile application security tools
Kuberenetes Robotics Distributed System
Barcode scanning on Android
Presenting BuddyBuild
Introduction to Android programming
Mastering Mobile Test Automation with Appium
Kotlin Tutorial for Beginners | Kotlin Android Tutorial | Edureka
iOSDevUK Conference- DevOps for iOS Apps
Mobile OS Мобильный операционные системы вступление сравнение
Android ppt
1 common testing abbreviations
Wearable Connectivity Architectures
Android Porting for Embedded Platforms
Android OpenGL ES remote rendering 蕭從恩
How to Build a Successful API Program: Best Practices For the Carrier
Immersion on Azure - Data base and Cognitive Service at a glance
Introduction Of Android Scripting Environment
Cara Terbaik Membangun Aplikasi Android TV dalam Menyongsong Era TV Digital -...
Mobile application security tools
Ad

Similar to How to Automate Mobile P2P Application with Appium (20)

PDF
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
PDF
Test Automation for Mobile Applications
PPTX
Continuous testing on emulators using the espresso test automation framework
PDF
Selenium Camp 2016 - Kiev, Ukraine
PDF
Cloud-Based, Automated Mobile App Testing for the Enterprise
PDF
Appium Interview Questions and Answers | Edureka
PDF
A. Sirota "Building an Automation Solution based on Appium"
PPTX
Preparing your QA team for mobile testing
PDF
Test automation of mobile apps
PDF
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
PDF
Collaborative Mobile Test Automation
PPTX
Test studio
PPTX
Test automation of mobile apps (Bugs'a'loud Vilnius QA Gathering)
PDF
Top 12 challenges in Mobile Testing
PDF
TMF2014 Mobile Testing Workshop Michael Palotas
 
PDF
Badoo: Cross platform Mobile Test Automation and Continuos Delivery
PDF
How to Test Android and iOS Mobile Apps with Appium.pdf
PPTX
UI Testing for Your Xamarin.Forms Apps
PDF
How Does Appium Facilitate Mobile App Testing Across Multiple Operating Syste...
PDF
Addressing Mobile App Testing Challenges
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
Test Automation for Mobile Applications
Continuous testing on emulators using the espresso test automation framework
Selenium Camp 2016 - Kiev, Ukraine
Cloud-Based, Automated Mobile App Testing for the Enterprise
Appium Interview Questions and Answers | Edureka
A. Sirota "Building an Automation Solution based on Appium"
Preparing your QA team for mobile testing
Test automation of mobile apps
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
Collaborative Mobile Test Automation
Test studio
Test automation of mobile apps (Bugs'a'loud Vilnius QA Gathering)
Top 12 challenges in Mobile Testing
TMF2014 Mobile Testing Workshop Michael Palotas
 
Badoo: Cross platform Mobile Test Automation and Continuos Delivery
How to Test Android and iOS Mobile Apps with Appium.pdf
UI Testing for Your Xamarin.Forms Apps
How Does Appium Facilitate Mobile App Testing Across Multiple Operating Syste...
Addressing Mobile App Testing Challenges
Ad

Recently uploaded (20)

PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
assetexplorer- product-overview - presentation
PPTX
ai tools demonstartion for schools and inter college
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPT
Introduction Database Management System for Course Database
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
L1 - Introduction to python Backend.pptx
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
Computer Software and OS of computer science of grade 11.pptx
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
Softaken Excel to vCard Converter Software.pdf
Design an Analysis of Algorithms I-SECS-1021-03
CHAPTER 2 - PM Management and IT Context
assetexplorer- product-overview - presentation
ai tools demonstartion for schools and inter college
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Upgrade and Innovation Strategies for SAP ERP Customers
Odoo Companies in India – Driving Business Transformation.pdf
Introduction Database Management System for Course Database
How to Choose the Right IT Partner for Your Business in Malaysia
Navsoft: AI-Powered Business Solutions & Custom Software Development
L1 - Introduction to python Backend.pptx
Operating system designcfffgfgggggggvggggggggg
Computer Software and OS of computer science of grade 11.pptx
wealthsignaloriginal-com-DS-text-... (1).pdf
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
Reimagine Home Health with the Power of Agentic AI​
Softaken Excel to vCard Converter Software.pdf

How to Automate Mobile P2P Application with Appium

  • 2. Canberk Akduygu Ex-Java Developer Chief Test Architect @ Testinium Product Owner @ Loadium Blogger @ swtestacademy
  • 3. Testinium 200+ REAL Mobile Device 1000+ OS - Browser Automation +90 Engineers Consultants and more… +120 People Istanbul Turkey Continuous R&D
  • 4. Table of Content Application Under Test Solution’s Code Base Building Custom Grid & Appium Solution Challenges & Solutions QA Session Sidekick Components
  • 5. Application Under Test 9 Country Support +18M Downloads Basic features Text / Image / Voice Messaging VoIP / Video Calls Gaming Features Mobile Payment Social Platform + in app purchase
  • 7. iOS 11 iOS 10iOS 9 Xcode 7 Xcode 8 Xcode 9 Android 5 Android 6 Android 7 Appium 1.5.3 Appium 1.6 Appium 1.6.3
  • 9. Basic Mobile Automation Implementation Android iOS Android GRID Appium Nodes CI Tool - Capabilities managed on Source Code Level. - Test Automation Frameworks choice defined with If-Else Structure.
  • 10. Extended Grid Testinium Grid XCUITest and Instrumentation for iOS Uiautomator and Uiautomator2 for Android Extended Grid choose the appropriate version of Appium and set desired capability with testing framework according to properties stored in Json file. Testinium Test Executor
  • 11. Challenge 2 Distributing the Test in Different Device
  • 12. Sender Device Receiver Device S2: Receive Photo S3: Download Photo S4: Replies Back S1: Send Photo S5: Check the Reply Send Picture Scenario Test runs parallel but not the way you think of it! Parallelism as we know: Running one test case in different device with the same steps. Parallelism here: Running one test case in different device with different steps.
  • 13. WhiHow are you going to check whether a new message Received and it’s your turn to respond? - Pass message content as a parameter for second user to wait? - Implicit or Explicit Waits causing timeouts. - Or some other solution? Waiter Strategy
  • 15. Syncronization Module Android iOS Android One GRID to Rule Them All and in the Syncronization to Bind Them SynchronizerExt. Grid
  • 16. Become the Sender Become the Receiver I am the Receiver I am the Sender Restful Synchroniser Service How much is Bitcoin? Don’t Ask!! Bankrupt on the way! SM MS AUM MR SM : Send Message MS . Message Sent AUM: Any Unread Message MR: Message Replied Syncronization Multiple Mobile Device
  • 17. Our Sidekicks - Take Screenshots - Record Execution Video - PhoneUtils
  • 18. Capture Video & Screenshots in Extended Grid Video Recording Taking Screenshots Has a Native Video Recorder Limitation is 3 minutes so we add videos after test finishes Android Debug Bridge records video Android Debug Bridge capture screenshots No Native Video Recorder Capture 6-8 Screenshots/sec and Combine them with a Ruby script. 3rd Party https://github.com/libimobiledevice
  • 19. Selenium Grid Appium Extended Grid Agent Extended Node Agent Standart Grid Testinium Grid Test Request Appium Request Device LabVideo Recording Req. Screen Capture Req. App Install / Uninstall / Upgrade Req. Upload Videos Upload ScreenShots Override Selenium’s beforeSession and afterSession method Override Selenium’s beforeCommand and afterCommand method
  • 21. Test steps are implemented according to device layout and flow. Android and IOS Page Object Models
  • 22. Test Code Structure Devices are set before the test. Roles of those device are defined. Syncronization status among device are initialized.
  • 23. Test Code Structure Role Based Test Case is defined. Synchronisation status are reset after every step.