SlideShare a Scribd company logo
1 of 11
The Future of Mobile Automation Testing,
Appium steals it!!
Srinivasan Sekar
Appium Member
Agenda
• Problem Statement
• Solutions Available
• Best Solution’s adopted by Appium
• Q & A
Problem Statement
• Inspector
• Locator Strategies
• UIAutomation Support
• UIAutomator2 Framework
• Handling Multiple Sessions at a time
• Wearables/tvOS Support
Inspector
• Calabash IRB
• Works well with applications developed on different technology
• To find right match, user have to do lot of hit and trials in irb
• Identifies the elements based on visibility
• Doesn’t have any control over other apps installed in device
• Not user friendly
• Appium Inspector
• Not Actively maintained by Appium team
• Doesn’t have any control over other apps installed in device
• At times appium-dot-app crashes abruptly during inspection
• Selendroid Inspector
• Doesn’t have any control over other apps installed in device
• Doesn’t render UIElements in screen for certain applications or applications developed on
certain technologies
Solution
• iOS - Facebook’s WebDriverAgent Inspector:
• Developed in node.js
• WDA is an iOS app installed in Simulator or Device which takes best control of apps on device and Rendering
is based on visibility of elements
• Android – Google’s uiautomatorviewer
• Works absolutely fine for android apps
• Doesn’t support Multi-Window searches for API level 21+ and prior to API level 21 we can access active
window
• https://code.google.com/p/android/issues/detail?
UIAutomation support
Problem Statement
Apple no more support’s UIAutomation but does XCUITest to automate iOS applications.
Solutions
UIAutomator2 Framework
UIAutomator2
Backward Compatibility
Performance
Toast Messages
Push Notifications
Handling Multiple Sessions
Problem Statement
• Parallel Execution of tests across multiple iOS real devices and simulators simultaneously
Solution’s Available
• FB’s Simulator Control controls iOS Simulators by manipulating the system.
• Appium supports multiple sessions on real devices.
• Appium : simctl -> fbsimctl
Wearables/tvOS Support
• Testing Apps in Android wearables are feasible with many existing frameworks
already
• iOS Apple Watch and tvOS Support is a concern for many already
• As said earlier XCUITestDriver supports tvOS through WDA. Expect a complete
support in near future.
• Appium Driver is designed in such a way that it can be easily adopted and write
wrapper on top of existing Mobile Json Wire methods to support any apps.
• E.g: https://github.com/YOU-i-Labs/appium-youiengine-driver
Sources
• DroidDriver - https://android.googlesource.com/platform/external/droiddriver
• DroidDriver - https://github.com/appium/droiddriver
• UIAutomator v2- https://android.googlesource.com/platform/frameworks/uiautomator/+/master
• Facebook’s WDA – https://github.com/facebook/FBSimulatorControl
• Facebook’s fbsimtcl - https://github.com/facebook/FBSimulatorControl
• Google EarlGrey - https://github.com/google/EarlGrey
• https://github.com/appium/appium-xcuitest-driver
• https://github.com/appium/appium-uiautomator2-driver
• https://github.com/appium/appium-uiautomator2-server
• https://github.com/appium/appium/issues/4369
• https://code.google.com/p/android/issues/detail?id=207569
• https://github.com/appium/appium/issues/4869
• https://github.com/appium/appium/issues/4858
The future of mobile automation testing, appium steals it

More Related Content

Viewers also liked

Data Analytics-testing spectrum
Data Analytics-testing spectrumData Analytics-testing spectrum
Data Analytics-testing spectrum
VodqaBLR
 

Viewers also liked (12)

Divide and-conquer approach towards data analytics testing
Divide and-conquer approach towards data analytics testingDivide and-conquer approach towards data analytics testing
Divide and-conquer approach towards data analytics testing
 
Data Analytics-testing spectrum
Data Analytics-testing spectrumData Analytics-testing spectrum
Data Analytics-testing spectrum
 
Strategies for Distributed Agile Testing
Strategies for Distributed Agile TestingStrategies for Distributed Agile Testing
Strategies for Distributed Agile Testing
 
Introduction to docker and docker compose
Introduction to docker and docker composeIntroduction to docker and docker compose
Introduction to docker and docker compose
 
10 things you didnt know about appium + whats new in appium 1.5
10 things you didnt know about appium + whats new in appium 1.510 things you didnt know about appium + whats new in appium 1.5
10 things you didnt know about appium + whats new in appium 1.5
 
Rest api 테스트 수행가이드
Rest api 테스트 수행가이드Rest api 테스트 수행가이드
Rest api 테스트 수행가이드
 
Client-Side Performance Testing
Client-Side Performance TestingClient-Side Performance Testing
Client-Side Performance Testing
 
Android & iOS Automation Using Appium
Android & iOS Automation Using AppiumAndroid & iOS Automation Using Appium
Android & iOS Automation Using Appium
 
What is Agile Testing?
What is Agile Testing?What is Agile Testing?
What is Agile Testing?
 
Client-side Performance Testing
Client-side Performance TestingClient-side Performance Testing
Client-side Performance Testing
 
테스트자동화 성공전략
테스트자동화 성공전략테스트자동화 성공전략
테스트자동화 성공전략
 
RESTful API 제대로 만들기
RESTful API 제대로 만들기RESTful API 제대로 만들기
RESTful API 제대로 만들기
 

More from VodqaBLR

More from VodqaBLR (20)

Consumer-Driven Contract Testing PACT
Consumer-Driven Contract Testing PACTConsumer-Driven Contract Testing PACT
Consumer-Driven Contract Testing PACT
 
Taiko presentation
Taiko presentationTaiko presentation
Taiko presentation
 
Chatbot Testing
Chatbot TestingChatbot Testing
Chatbot Testing
 
Key Note VodQA(Bangalore) 2018
Key Note VodQA(Bangalore) 2018Key Note VodQA(Bangalore) 2018
Key Note VodQA(Bangalore) 2018
 
Android security testing
Android security testingAndroid security testing
Android security testing
 
Advance appium workshop.pptx
Advance appium workshop.pptxAdvance appium workshop.pptx
Advance appium workshop.pptx
 
Blockchain workshop
Blockchain workshopBlockchain workshop
Blockchain workshop
 
Testing natural language processing
Testing natural language processingTesting natural language processing
Testing natural language processing
 
Drive chrome(headless) with puppeteer
Drive chrome(headless) with puppeteerDrive chrome(headless) with puppeteer
Drive chrome(headless) with puppeteer
 
Improve your Chaos IQ
Improve your Chaos IQImprove your Chaos IQ
Improve your Chaos IQ
 
WebDriver Lamda - Next Gen Scalable Test
WebDriver Lamda - Next Gen Scalable TestWebDriver Lamda - Next Gen Scalable Test
WebDriver Lamda - Next Gen Scalable Test
 
Testing Tools with AI
Testing Tools with AITesting Tools with AI
Testing Tools with AI
 
Dynamic Security Analysis & Static Security Analysis for Android Apps.
Dynamic Security Analysis & Static Security Analysis for Android Apps.Dynamic Security Analysis & Static Security Analysis for Android Apps.
Dynamic Security Analysis & Static Security Analysis for Android Apps.
 
Visual testing for Mobile Native Applications
Visual testing for Mobile Native ApplicationsVisual testing for Mobile Native Applications
Visual testing for Mobile Native Applications
 
Parallel Sim Test using XCUI
Parallel Sim Test using XCUI Parallel Sim Test using XCUI
Parallel Sim Test using XCUI
 
Performance Testing using Taurus
Performance Testing using TaurusPerformance Testing using Taurus
Performance Testing using Taurus
 
Writing Maintainable Tests
Writing Maintainable TestsWriting Maintainable Tests
Writing Maintainable Tests
 
Continuous security testing - sharing responsibility
Continuous security testing - sharing responsibilityContinuous security testing - sharing responsibility
Continuous security testing - sharing responsibility
 
ABCing docker with environments - workshop
ABCing docker with environments - workshopABCing docker with environments - workshop
ABCing docker with environments - workshop
 
Automate Web or Mobile Analytics using TrakMatic
Automate Web or Mobile Analytics using TrakMaticAutomate Web or Mobile Analytics using TrakMatic
Automate Web or Mobile Analytics using TrakMatic
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

The future of mobile automation testing, appium steals it

  • 1. The Future of Mobile Automation Testing, Appium steals it!! Srinivasan Sekar Appium Member
  • 2. Agenda • Problem Statement • Solutions Available • Best Solution’s adopted by Appium • Q & A
  • 3. Problem Statement • Inspector • Locator Strategies • UIAutomation Support • UIAutomator2 Framework • Handling Multiple Sessions at a time • Wearables/tvOS Support
  • 4. Inspector • Calabash IRB • Works well with applications developed on different technology • To find right match, user have to do lot of hit and trials in irb • Identifies the elements based on visibility • Doesn’t have any control over other apps installed in device • Not user friendly • Appium Inspector • Not Actively maintained by Appium team • Doesn’t have any control over other apps installed in device • At times appium-dot-app crashes abruptly during inspection • Selendroid Inspector • Doesn’t have any control over other apps installed in device • Doesn’t render UIElements in screen for certain applications or applications developed on certain technologies
  • 5. Solution • iOS - Facebook’s WebDriverAgent Inspector: • Developed in node.js • WDA is an iOS app installed in Simulator or Device which takes best control of apps on device and Rendering is based on visibility of elements • Android – Google’s uiautomatorviewer • Works absolutely fine for android apps • Doesn’t support Multi-Window searches for API level 21+ and prior to API level 21 we can access active window • https://code.google.com/p/android/issues/detail?
  • 6. UIAutomation support Problem Statement Apple no more support’s UIAutomation but does XCUITest to automate iOS applications. Solutions
  • 8. Handling Multiple Sessions Problem Statement • Parallel Execution of tests across multiple iOS real devices and simulators simultaneously Solution’s Available • FB’s Simulator Control controls iOS Simulators by manipulating the system. • Appium supports multiple sessions on real devices. • Appium : simctl -> fbsimctl
  • 9. Wearables/tvOS Support • Testing Apps in Android wearables are feasible with many existing frameworks already • iOS Apple Watch and tvOS Support is a concern for many already • As said earlier XCUITestDriver supports tvOS through WDA. Expect a complete support in near future. • Appium Driver is designed in such a way that it can be easily adopted and write wrapper on top of existing Mobile Json Wire methods to support any apps. • E.g: https://github.com/YOU-i-Labs/appium-youiengine-driver
  • 10. Sources • DroidDriver - https://android.googlesource.com/platform/external/droiddriver • DroidDriver - https://github.com/appium/droiddriver • UIAutomator v2- https://android.googlesource.com/platform/frameworks/uiautomator/+/master • Facebook’s WDA – https://github.com/facebook/FBSimulatorControl • Facebook’s fbsimtcl - https://github.com/facebook/FBSimulatorControl • Google EarlGrey - https://github.com/google/EarlGrey • https://github.com/appium/appium-xcuitest-driver • https://github.com/appium/appium-uiautomator2-driver • https://github.com/appium/appium-uiautomator2-server • https://github.com/appium/appium/issues/4369 • https://code.google.com/p/android/issues/detail?id=207569 • https://github.com/appium/appium/issues/4869 • https://github.com/appium/appium/issues/4858