SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Mobile Automation with Appium
Manoj Kumar
About Me
✓Open Source Enthusiast
(Selenium, ngWebdriver, Serenity, Protractor et..)
✓Author assertselenium.com & official documentation of Selenium
✓Organizer & Program Chair seleniumconf.com
✓Member of Project Leadership committee - Selenium
✓Accessibility enthusiast
✓I work at Applitools AI-POWERED VISUAL TESTING AND MONITORING
Today’s Session
✓Challenges of Mobile Automated testing
✓Getting started with Automated Mobile Testing -Appium
✓Advanced features and unique capabilities
✓Scaling your Appium tests
✓State of Mobile Automation testing tools
✓& More
TOO MANY
DEVICES
+
BROWSER
COMBINATIONS
TO TEST
TEST MATRIX IS
TOO BIG
TO COVER
MANUALLY
RELEASE
CYCLES
KEEP GETTING
SHORTER
CI-CD PROCESSES DEMAND
AUTOMATION
AND
ZERO
MANUAL BOTTLENECKS
Automate it!
Challenges - Mobile Automation
• Validate every OS version your app supports
• Validate every locale your app supports
• Validate different device manufacturers
• Validate performance of your mobile apps
• Simulator vs Real Device differences
Tools / Frameworks
Be Honest
Detox
WDA
Tool Stack
Appium
Appium Philosophy
• Test the Same app you submit to the marketplace
• Write automated tests in any language / framework
• An open-source mobile automation framework
• Come up With your own driver implementation
Appium
• Appium is a HTTP server that creates and handles WebDriver session
through Mobile JSON WP
Appium Architecture
• Similar to WebDriver Server
• A Client-Server architecture
• Server - Node Js
• Client - your Automated Scripts
• Receive request from Client > Executes commands on devices/emulators
> A HTTP response is responded
Appium Architecture
• When you download Appium Desktop or install via npm - you’re just
downloading or setting up the Server part of Appium
• When you write an automated Appium Script and execute it, a HTTP
request in JSON format is sent to Server
• Appium sends the commands to iOS and Android platform in a way that it
understands via bootstrap- which acts as a Unix/TCP server
Appium in a Nutshell
Appium Landscape
Source: Jonathan Lipps- CloudGrey
Appium Requirements
• Appium via npm server
• Driver Specific Setup
• XCUITest Driver - iOS
• Mac, Xcode > 7, XCUITest library
• UiAutomator2 Driver( EspressoDriver at it Beta Stage) - Android
• Java 7, Android SDK
• Windows Driver - Win Desktop Apps
• Mac Driver - Mac Desktop Apps
Appium Server
Appium Driver Service
Desired Capabilities
Appium Inspector
Advanced Appium Actions
Name Some please?
Horizontal Swiping
Thanks - Srinivasan & Sai
Vertical Swiping
Vertical Swiping
Thanks - Srinivasan & Sai
Chained Locators
Any Possible
Thanks - Srinivasan & Sai
Tips & Tricks
• No XPath
• Use Predicates in iOS
• Appium is slow
• Stability over speed
• No Docs
Performance Testing for Mobile apps
• Mobile apps are usually run in a very constrained environment
• Mobile apps have the potential to create bad user experience not only from
UI perspective but also by jamming CPU or memory and shown as a
“battery draining app”
• At least with Android
• dumpsys is a tool that runs on Android devices and provides information
about services and can be used wth Android Debug Bridge
• Allow you to check how your application affects the overall device through
CPU, RAM, Battery, storage stats
List<List<Object>> data =
driver.getPerformanceData("io.appium.android.apis", "memoryinfo",
10);
Performance Testing with Appium
Visual Testing for mobile Apps
• Validate if your app looks same on different screen sizes, different
manufacturers
• How will your app layout or structure looks when used in different language
which has long strings like Deutsch
• Consider testing in Landscape mode
AI-POWERED VISUAL TESTING AND MONITORING
Accessibility Testing for Mobile Apps
• All activatable elements should be focusable
• The user flow on the screen should be from top to bottom and left to right.
The flow throughout the app should be intuitive.
Accessibility testing with Espresso
• Accessibility Test framework from Google - Plugged into any Java
framework
• Espresso:
import android.support.test.espresso.contrib.AccessibilityChecks;
@RunWith(AndroidJUnit4.class)
@LargeTest
public class AccessibilityChecksIntegrationTest {
@BeforeClass
public static void enableAccessibilityChecks() {
AccessibilityChecks.enable();
}
}
Scaling Mobile Automation
Scaling Mobile Automation
• Dockerize Appium Tests - Easy Parallel tests
• Docker based Setup
• https://github.com/butomo1989/docker-android
• https://github.com/appium/appium-docker-android
• No more worry about requirements
• Comes pre-built in a docker image
• Build an Image and execute it!
Scaling Mobile Automation
• Appium Test Distribution
• Appium Device Manager
• Remote Appium Manager
Video Demo
Mobile Automation landscape
Mobile Testing tools-Landscape
Questions
Thank you!

Weitere ähnliche Inhalte

Was ist angesagt?

Getting started with appium
Getting started with appiumGetting started with appium
Getting started with appiumPratik Patel
 
Automation Testing With Appium
Automation Testing With AppiumAutomation Testing With Appium
Automation Testing With AppiumKnoldus Inc.
 
Automation testing on ios platform using appium
Automation testing on ios platform using appiumAutomation testing on ios platform using appium
Automation testing on ios platform using appiumAmbreen Khan
 
Mobile Test Automation - Appium
Mobile Test Automation - AppiumMobile Test Automation - Appium
Mobile Test Automation - AppiumMaria Machlowska
 
Mobile application testing tutorial
Mobile application testing tutorialMobile application testing tutorial
Mobile application testing tutorialLokesh Agrawal
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testingvodQA
 
Mobile Application Testing Training Presentation
Mobile Application Testing Training PresentationMobile Application Testing Training Presentation
Mobile Application Testing Training PresentationMobiGnosis
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testingSoftheme
 
Mobile Application Testing by Javed Ansari
Mobile Application Testing by Javed AnsariMobile Application Testing by Javed Ansari
Mobile Application Testing by Javed AnsariJaved Ansari
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application TestingNoor Orfahly
 
Introduction To Appium With Robotframework
Introduction To Appium With RobotframeworkIntroduction To Appium With Robotframework
Introduction To Appium With RobotframeworkSyam Sasi
 
Appium, Test-Driven Development, and Continuous Integration
Appium, Test-Driven Development, and Continuous IntegrationAppium, Test-Driven Development, and Continuous Integration
Appium, Test-Driven Development, and Continuous IntegrationTechWell
 
Mobile Application Testing
Mobile Application Testing Mobile Application Testing
Mobile Application Testing Shivaraj R
 

Was ist angesagt? (20)

Appium overview
Appium overviewAppium overview
Appium overview
 
Getting started with appium
Getting started with appiumGetting started with appium
Getting started with appium
 
Automation Testing With Appium
Automation Testing With AppiumAutomation Testing With Appium
Automation Testing With Appium
 
Automation testing on ios platform using appium
Automation testing on ios platform using appiumAutomation testing on ios platform using appium
Automation testing on ios platform using appium
 
Mobile Test Automation - Appium
Mobile Test Automation - AppiumMobile Test Automation - Appium
Mobile Test Automation - Appium
 
Appium
AppiumAppium
Appium
 
Appium
AppiumAppium
Appium
 
Mobile application testing tutorial
Mobile application testing tutorialMobile application testing tutorial
Mobile application testing tutorial
 
Automation using Appium
Automation using AppiumAutomation using Appium
Automation using Appium
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testing
 
Mobile Application Testing Training Presentation
Mobile Application Testing Training PresentationMobile Application Testing Training Presentation
Mobile Application Testing Training Presentation
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testing
 
Mobile App Testing Strategy
Mobile App Testing StrategyMobile App Testing Strategy
Mobile App Testing Strategy
 
Mobile Application Testing by Javed Ansari
Mobile Application Testing by Javed AnsariMobile Application Testing by Javed Ansari
Mobile Application Testing by Javed Ansari
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 
Introduction To Appium With Robotframework
Introduction To Appium With RobotframeworkIntroduction To Appium With Robotframework
Introduction To Appium With Robotframework
 
Automation testing
Automation testingAutomation testing
Automation testing
 
Appium, Test-Driven Development, and Continuous Integration
Appium, Test-Driven Development, and Continuous IntegrationAppium, Test-Driven Development, and Continuous Integration
Appium, Test-Driven Development, and Continuous Integration
 
Mobile Application Testing
Mobile Application Testing Mobile Application Testing
Mobile Application Testing
 

Ähnlich wie Mobile Automation with Appium

Use Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test AutomationUse Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test AutomationClever Moe
 
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test AutomationSTARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test AutomationClever Moe
 
Mobile automation using selenium cucumber & appium
Mobile automation using selenium cucumber & appiumMobile automation using selenium cucumber & appium
Mobile automation using selenium cucumber & appiumSelenium Cucumber
 
Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014Clever Moe
 
Automated Mobile Testing using Appium.pdf
Automated Mobile Testing using Appium.pdfAutomated Mobile Testing using Appium.pdf
Automated Mobile Testing using Appium.pdfAnand722237
 
The ultimate guide to mobile app testing with appium
The ultimate guide to mobile app testing with appiumThe ultimate guide to mobile app testing with appium
The ultimate guide to mobile app testing with appiumheadspin2
 
CS02A - Interacting with applications.pptx
CS02A - Interacting with applications.pptxCS02A - Interacting with applications.pptx
CS02A - Interacting with applications.pptxAnand722237
 
Designing an effective hybrid apps automation framework
Designing an effective hybrid apps automation frameworkDesigning an effective hybrid apps automation framework
Designing an effective hybrid apps automation frameworkAndrea Tino
 
Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016Dan Cuellar
 
Appium an introduction
Appium   an introductionAppium   an introduction
Appium an introductionVivek Shringi
 
Appium meet up noida
Appium meet up noidaAppium meet up noida
Appium meet up noidaAmit Rawat
 
Appurify presentation at Appium meetup - Running Appium on real devices at scale
Appurify presentation at Appium meetup - Running Appium on real devices at scaleAppurify presentation at Appium meetup - Running Appium on real devices at scale
Appurify presentation at Appium meetup - Running Appium on real devices at scaleJay Srinivasan
 
Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)danielputerman
 
Using Selenium To Test Mobile? Meet Appium!
Using Selenium To Test Mobile? Meet Appium!Using Selenium To Test Mobile? Meet Appium!
Using Selenium To Test Mobile? Meet Appium!Sauce Labs
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application TestingSun Technlogies
 
Launch High Performing Mobile Apps with Appurify
Launch High Performing Mobile Apps with AppurifyLaunch High Performing Mobile Apps with Appurify
Launch High Performing Mobile Apps with AppurifyManish Lachwani
 
Appmotives - Software Testing As Service
Appmotives - Software Testing As ServiceAppmotives - Software Testing As Service
Appmotives - Software Testing As ServiceKalyan Paluri
 

Ähnlich wie Mobile Automation with Appium (20)

ATAGTR2017 Appium
ATAGTR2017 AppiumATAGTR2017 Appium
ATAGTR2017 Appium
 
Use Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test AutomationUse Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test Automation
 
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test AutomationSTARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
 
Appium.pptx
Appium.pptxAppium.pptx
Appium.pptx
 
Mobile automation using selenium cucumber & appium
Mobile automation using selenium cucumber & appiumMobile automation using selenium cucumber & appium
Mobile automation using selenium cucumber & appium
 
Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014
 
Automated Mobile Testing using Appium.pdf
Automated Mobile Testing using Appium.pdfAutomated Mobile Testing using Appium.pdf
Automated Mobile Testing using Appium.pdf
 
Advanced Appium
Advanced AppiumAdvanced Appium
Advanced Appium
 
The ultimate guide to mobile app testing with appium
The ultimate guide to mobile app testing with appiumThe ultimate guide to mobile app testing with appium
The ultimate guide to mobile app testing with appium
 
CS02A - Interacting with applications.pptx
CS02A - Interacting with applications.pptxCS02A - Interacting with applications.pptx
CS02A - Interacting with applications.pptx
 
Designing an effective hybrid apps automation framework
Designing an effective hybrid apps automation frameworkDesigning an effective hybrid apps automation framework
Designing an effective hybrid apps automation framework
 
Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016
 
Appium an introduction
Appium   an introductionAppium   an introduction
Appium an introduction
 
Appium meet up noida
Appium meet up noidaAppium meet up noida
Appium meet up noida
 
Appurify presentation at Appium meetup - Running Appium on real devices at scale
Appurify presentation at Appium meetup - Running Appium on real devices at scaleAppurify presentation at Appium meetup - Running Appium on real devices at scale
Appurify presentation at Appium meetup - Running Appium on real devices at scale
 
Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)
 
Using Selenium To Test Mobile? Meet Appium!
Using Selenium To Test Mobile? Meet Appium!Using Selenium To Test Mobile? Meet Appium!
Using Selenium To Test Mobile? Meet Appium!
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 
Launch High Performing Mobile Apps with Appurify
Launch High Performing Mobile Apps with AppurifyLaunch High Performing Mobile Apps with Appurify
Launch High Performing Mobile Apps with Appurify
 
Appmotives - Software Testing As Service
Appmotives - Software Testing As ServiceAppmotives - Software Testing As Service
Appmotives - Software Testing As Service
 

Mehr von Manoj Kumar Kumar

Tips from the trenches Accessibility Testing
Tips from the trenches Accessibility TestingTips from the trenches Accessibility Testing
Tips from the trenches Accessibility TestingManoj Kumar Kumar
 
Observability: Distributed Tes environment
Observability: Distributed Tes environmentObservability: Distributed Tes environment
Observability: Distributed Tes environmentManoj Kumar Kumar
 
GAAD-Deque-Accessibility-webinar
GAAD-Deque-Accessibility-webinarGAAD-Deque-Accessibility-webinar
GAAD-Deque-Accessibility-webinarManoj Kumar Kumar
 
Scaling your Automated Tests: Docker and Kubernetes
Scaling your Automated Tests: Docker and KubernetesScaling your Automated Tests: Docker and Kubernetes
Scaling your Automated Tests: Docker and KubernetesManoj Kumar Kumar
 
Testing for Inclusive Web: Accessibility
Testing for Inclusive Web: AccessibilityTesting for Inclusive Web: Accessibility
Testing for Inclusive Web: AccessibilityManoj Kumar Kumar
 
Automated-Testing-inside-containers
Automated-Testing-inside-containersAutomated-Testing-inside-containers
Automated-Testing-inside-containersManoj Kumar Kumar
 
Test Automation Infrastructure with Containers
Test Automation Infrastructure with ContainersTest Automation Infrastructure with Containers
Test Automation Infrastructure with ContainersManoj Kumar Kumar
 
Automated-Accessibility-Testing
Automated-Accessibility-TestingAutomated-Accessibility-Testing
Automated-Accessibility-TestingManoj Kumar Kumar
 
Automated Testing with Google Chrome - WebDriver- ChromeDriver
Automated Testing with Google Chrome - WebDriver- ChromeDriverAutomated Testing with Google Chrome - WebDriver- ChromeDriver
Automated Testing with Google Chrome - WebDriver- ChromeDriverManoj Kumar Kumar
 

Mehr von Manoj Kumar Kumar (12)

Tips from the trenches Accessibility Testing
Tips from the trenches Accessibility TestingTips from the trenches Accessibility Testing
Tips from the trenches Accessibility Testing
 
Observability: Distributed Tes environment
Observability: Distributed Tes environmentObservability: Distributed Tes environment
Observability: Distributed Tes environment
 
Selenium-4-and-appium-2
Selenium-4-and-appium-2Selenium-4-and-appium-2
Selenium-4-and-appium-2
 
Selenium-4
Selenium-4Selenium-4
Selenium-4
 
GAAD-Deque-Accessibility-webinar
GAAD-Deque-Accessibility-webinarGAAD-Deque-Accessibility-webinar
GAAD-Deque-Accessibility-webinar
 
Scaling your Automated Tests: Docker and Kubernetes
Scaling your Automated Tests: Docker and KubernetesScaling your Automated Tests: Docker and Kubernetes
Scaling your Automated Tests: Docker and Kubernetes
 
Testing for Inclusive Web: Accessibility
Testing for Inclusive Web: AccessibilityTesting for Inclusive Web: Accessibility
Testing for Inclusive Web: Accessibility
 
Automated-Testing-inside-containers
Automated-Testing-inside-containersAutomated-Testing-inside-containers
Automated-Testing-inside-containers
 
Test Automation Infrastructure with Containers
Test Automation Infrastructure with ContainersTest Automation Infrastructure with Containers
Test Automation Infrastructure with Containers
 
Automated-Accessibility-Testing
Automated-Accessibility-TestingAutomated-Accessibility-Testing
Automated-Accessibility-Testing
 
Async webdriverjs
Async webdriverjsAsync webdriverjs
Async webdriverjs
 
Automated Testing with Google Chrome - WebDriver- ChromeDriver
Automated Testing with Google Chrome - WebDriver- ChromeDriverAutomated Testing with Google Chrome - WebDriver- ChromeDriver
Automated Testing with Google Chrome - WebDriver- ChromeDriver
 

Kürzlich hochgeladen

%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 

Kürzlich hochgeladen (20)

%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 

Mobile Automation with Appium

  • 1. Mobile Automation with Appium Manoj Kumar
  • 2. About Me ✓Open Source Enthusiast (Selenium, ngWebdriver, Serenity, Protractor et..) ✓Author assertselenium.com & official documentation of Selenium ✓Organizer & Program Chair seleniumconf.com ✓Member of Project Leadership committee - Selenium ✓Accessibility enthusiast ✓I work at Applitools AI-POWERED VISUAL TESTING AND MONITORING
  • 3. Today’s Session ✓Challenges of Mobile Automated testing ✓Getting started with Automated Mobile Testing -Appium ✓Advanced features and unique capabilities ✓Scaling your Appium tests ✓State of Mobile Automation testing tools ✓& More
  • 4. TOO MANY DEVICES + BROWSER COMBINATIONS TO TEST TEST MATRIX IS TOO BIG TO COVER MANUALLY
  • 5. RELEASE CYCLES KEEP GETTING SHORTER CI-CD PROCESSES DEMAND AUTOMATION AND ZERO MANUAL BOTTLENECKS
  • 7. Challenges - Mobile Automation • Validate every OS version your app supports • Validate every locale your app supports • Validate different device manufacturers • Validate performance of your mobile apps • Simulator vs Real Device differences
  • 12. Appium Philosophy • Test the Same app you submit to the marketplace • Write automated tests in any language / framework • An open-source mobile automation framework • Come up With your own driver implementation
  • 13. Appium • Appium is a HTTP server that creates and handles WebDriver session through Mobile JSON WP
  • 14. Appium Architecture • Similar to WebDriver Server • A Client-Server architecture • Server - Node Js • Client - your Automated Scripts • Receive request from Client > Executes commands on devices/emulators > A HTTP response is responded
  • 15. Appium Architecture • When you download Appium Desktop or install via npm - you’re just downloading or setting up the Server part of Appium • When you write an automated Appium Script and execute it, a HTTP request in JSON format is sent to Server • Appium sends the commands to iOS and Android platform in a way that it understands via bootstrap- which acts as a Unix/TCP server
  • 16. Appium in a Nutshell
  • 19. Appium Requirements • Appium via npm server • Driver Specific Setup • XCUITest Driver - iOS • Mac, Xcode > 7, XCUITest library • UiAutomator2 Driver( EspressoDriver at it Beta Stage) - Android • Java 7, Android SDK • Windows Driver - Win Desktop Apps • Mac Driver - Mac Desktop Apps
  • 25. Horizontal Swiping Thanks - Srinivasan & Sai
  • 27. Vertical Swiping Thanks - Srinivasan & Sai
  • 29. Any Possible Thanks - Srinivasan & Sai
  • 30. Tips & Tricks • No XPath • Use Predicates in iOS • Appium is slow • Stability over speed • No Docs
  • 31. Performance Testing for Mobile apps • Mobile apps are usually run in a very constrained environment • Mobile apps have the potential to create bad user experience not only from UI perspective but also by jamming CPU or memory and shown as a “battery draining app”
  • 32. • At least with Android • dumpsys is a tool that runs on Android devices and provides information about services and can be used wth Android Debug Bridge • Allow you to check how your application affects the overall device through CPU, RAM, Battery, storage stats List<List<Object>> data = driver.getPerformanceData("io.appium.android.apis", "memoryinfo", 10); Performance Testing with Appium
  • 33. Visual Testing for mobile Apps • Validate if your app looks same on different screen sizes, different manufacturers • How will your app layout or structure looks when used in different language which has long strings like Deutsch • Consider testing in Landscape mode
  • 34. AI-POWERED VISUAL TESTING AND MONITORING
  • 35. Accessibility Testing for Mobile Apps • All activatable elements should be focusable • The user flow on the screen should be from top to bottom and left to right. The flow throughout the app should be intuitive.
  • 36. Accessibility testing with Espresso • Accessibility Test framework from Google - Plugged into any Java framework • Espresso: import android.support.test.espresso.contrib.AccessibilityChecks; @RunWith(AndroidJUnit4.class) @LargeTest public class AccessibilityChecksIntegrationTest { @BeforeClass public static void enableAccessibilityChecks() { AccessibilityChecks.enable(); } }
  • 38. Scaling Mobile Automation • Dockerize Appium Tests - Easy Parallel tests • Docker based Setup • https://github.com/butomo1989/docker-android • https://github.com/appium/appium-docker-android • No more worry about requirements • Comes pre-built in a docker image • Build an Image and execute it!
  • 39. Scaling Mobile Automation • Appium Test Distribution • Appium Device Manager • Remote Appium Manager

Hinweis der Redaktion

  1. Unlike 5 or 10 years ago in todays world, when testing a web or mobile app - whether native or responsive, it’s important to be able to test on all devices and browsers. The problem is, there are simply too many device and browser combinations. Chrome, Firefox, IE, Safari, each one has multiple versions that customers may be using, on different devices (PC, MAC, Mobile Devices, Smart watches) Running on different operating systems (Windows, Linux, IOS, Android etc.) and in different screen resolutions according to the device. In some cases the application under test may also have responsive design to optimize the layout according to the viewable portion of the screen. In these cases we also need to check the app across the different layouts. While there are tools that let you test on a wide variety of devices, there is no automated testing tool that can see that the app looks and acts right on all devices. So someone still manually goes through each and every device, to ensure that everything is displaying properly. This causes major bottlenecks which adds cost to the dev process.
  2. On top of that we also know that release cycle are keep getting shorter and shorter. Many organisations already have CI in place and some already has full CD. It simply means that everything must be automated has we have zero time for manual bottle necks. So, we have more and more things that we need to cover and less and less time to do it.