SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
F14	
Session	-	Mobile	Testing	
4/28/17	2:00	PM	
	
	
	
	
	
	
The	Present	and	Future	of	Mobile	Test	
Automation	with	Appium	
	
Presented	by:	
	
Jonathan	Lipps	
Sauce	Labs	
	
	
	
Brought	to	you	by:		
		
	
	
	
	
350	Corporate	Way,	Suite	400,	Orange	Park,	FL	32073		
888---268---8770	··	904---278---0524	-	info@techwell.com	-	https://www.techwell.com/
Jonathan	Lipps	
Sauce	Labs	
	
Jonathan	Lipps	has	been	making	things	out	of	code	for	as	long	as	he	can	
remember.	As	the	director	of	open	source	at	Sauce	Labs,	Jonathan	is	leading	the	
charge	to	improve	the	web	and	mobile	testing	ecosystem.	He	is	the	architect	and	
project	lead	for	Appium,	the	open-source,	cross-platform	mobile	automation	
framework	written	in	Node.js.	He	has	worked	as	a	programmer	in	tech	startups	
for	more	than	a	decade.	Jonathan	lives	in	Vancouver,	enjoys	running,	produces	
music,	and	writes	about	the	philosophy	of	technology.
The Present and Future of Mobile Automation
Jonathan Lipps • Director of Open Source • Sauce Labs


@AppiumDevs • @saucelabs • @jlipps
Mobile Dev+Test • San Diego, CA
April 28, 2017
Jonathan Lipps • Director of Open Source • Sauce Labs


@AppiumDevs • @saucelabs • @jlipps
Director of Open Source
Project Lead & Architect
appium is the open-source, cross-
platform solution for native, web, and
hybrid mobile app automation
appium introduction
appium makes continuous integration
possible by providing automation for
mobile apps
appium takes the best mobile
automation technologies and gives them
to you in a WebDriver interface
Why WebDriver?
It’s the globally-recognized W3C standard
for browser automation
WebDriver
is an HTTP API
POST /session
POST /session/element
GET /session/element/:id/:attr
appium works with any language and
any test runner / test framework, even
custom ones

Java : JS : Python : Ruby : PHP : C# :
ObjC : Perl : Swift : Go
appium enables true cross-platform
test-writing. One API for iOS, Android,
Windows, and macOS
appium test model
Server (appium)Client (test script)
Server (appium)Client (test script)
Construct desired capabilities
Server (appium)Client (test script)
Construct desired capabilities
{
"platformName": "iOS",
"platformVersion": "10.2",
"deviceName": "iPhone Simulator",
"app": “/path/to/TestApp7.1.app”,
"noReset": true
}
Server (appium)Client (test script)
Construct desired capabilities
Request a session with capabilities
Server (appium)Client (test script)
Construct desired capabilities
Request a session with capabilities Parse capabilities
Server (appium)Client (test script)
Construct desired capabilities
Request a session with capabilities Parse capabilities
Start session based on caps
Server (appium)Client (test script)
Construct desired capabilities
Request a session with capabilities Parse capabilities
Start session based on capsStore session id for future calls
Server (appium)Client (test script)
Construct desired capabilities
Request a session with capabilities Parse capabilities
Start session based on capsStore session id for future calls
Send automation commands
Server (appium)Client (test script)
Construct desired capabilities
Request a session with capabilities Parse capabilities
Start session based on capsStore session id for future calls
Send automation commands Parse command request
Server (appium)Client (test script)
Construct desired capabilities
Request a session with capabilities Parse capabilities
Start session based on capsStore session id for future calls
Send automation commands Parse command request
Perform automation
Server (appium)Client (test script)
Construct desired capabilities
Request a session with capabilities Parse capabilities
Start session based on capsStore session id for future calls
Send automation commands Parse command request
Perform automationCheck result, make verifications,
etc…
Server (appium)Client (test script)
Construct desired capabilities
Request a session with capabilities Parse capabilities
Start session based on capsStore session id for future calls
Send automation commands Parse command request
Perform automationCheck result, make verifications,
etc…
Server (appium)Client (test script)
Construct desired capabilities
Request a session with capabilities Parse capabilities
Start session based on capsStore session id for future calls
Send automation commands Parse command request
Perform automationCheck result, make verifications,
etc…
Request session quit
Server (appium)Client (test script)
Construct desired capabilities
Request a session with capabilities Parse capabilities
Start session based on capsStore session id for future calls
Send automation commands Parse command request
Perform automationCheck result, make verifications,
etc…
Request session quit Shut down app, clean up resources
WebDriver / appium API Example Description
findElement
Find an element by its accessibility id, resource id,
xpath query, etc…
click Click/tap on a found element
getText Get the label/text of a found element
sendKeys
Type into an input field or adjust other UI controls
(like setting slider value)
appium philosophy
The world of mobile and other new
platform automation is constantly
changing
The world of mobile and other new
platform automation is constantly
changing
Earl GreyEspresso
XCUITest
UiAutomator
UiAutomator 2
UIAutomation
With each new technology come new
benefits, but also drawbacks and the pain
of relearning and rewriting everything
appium finds the best automation
technologies and translates them to the
same standard WebDriver API
The appium “umbrella”
• Get the benefits of new automation tech without having to
rewrite your tests
• Leverage your industry-standard Selenium/WebDriver
experience
• Write cross-platform tests: one API for multiple platforms
• Encourage platform vendors to support one stable and
standard protocol
appium platforms
Deprecated Platform Description
iOS - Instruments & UiAutomation
- Powered by Instruments & UiAutomation
- Available up till iOS 9.3
Android - UiAutomator
- Powered by UiAutomator
- Supported from Android 4.2
- Superseded by UiAutomator 2
Current Platform Description
iOS
- Powered by XCUITest (Apple) & WDA (Facebook)
- Available for iOS 9.3+
Android
- Powered by UiAutomator 2 (Google)
- Released before Android 6.0
Windows Desktop
- Powered by WinAppDriver (Microsoft)
- Released before Android 6.0
macOS Desktop
- Powered by Appium for Mac (community)
- Works with most versions of OS X
youi.tv
- Powered by youi-engine (Youi)
- Works with the Youi app framework
appium platform demos
Demo Code
github://jlipps/mobile-dev-test-examples
appium test writing
appium desktop is a point and click
interface for using appium and
inspecting your app’s structure
appium desktop makes it easy to get
started writing tests for your app by
showing you what elements you can use
appium desktop demo
appium vision
In a world of many automation platforms,
appium becomes more than a software
package bundling them all together
The driver portfolio grows
• WinAppDriver expands to support mobile, Xbox, more?
• Espresso support?
• Earl Grey support?
• Unity3d support?
• IoT platform support?
IoT??!??
• Automate IoT UIs (Android-based)
• Automate IoT framework software
• Lots of other possibilities…
appium 2.0 is…
• The WebDriver protocol (plus necessary extensions)
• A set of NodeJS libraries for writing drivers easily
• A loose federation of drivers maintained by communities
• A CLI tool for installing, managing, and running drivers
• Extending this tool to appium desktop
appium is the open-source, cross-
platform solution for native, web, and
hybrid mobile app automation
Thanks!
http://appium.io
https://github.com/appium/appium
@AppiumDevs • @saucelabs • @jlipps
Questions?
http://appium.io
https://github.com/appium/appium
@AppiumDevs • @saucelabs • @jlipps

Más contenido relacionado

La actualidad más candente

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
 
Appium workshop technopark trivandrum
Appium workshop technopark trivandrumAppium workshop technopark trivandrum
Appium workshop technopark trivandrumSyam Sasi
 
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with AppiumSrijan Technologies
 
Mobile Test Automation - Appium
Mobile Test Automation - AppiumMobile Test Automation - Appium
Mobile Test Automation - AppiumMaria Machlowska
 
Wheat - Mobile functional test automation
Wheat - Mobile functional test automationWheat - Mobile functional test automation
Wheat - Mobile functional test automationSunny Tambi
 
Appium troubleshooting
Appium troubleshootingAppium troubleshooting
Appium troubleshootingadi ben aroya
 
Parallel testing with appium
Parallel testing with appiumParallel testing with appium
Parallel testing with appiummoizjv
 
Do You Enjoy Espresso in Android App Testing?
Do You Enjoy Espresso in Android App Testing?Do You Enjoy Espresso in Android App Testing?
Do You Enjoy Espresso in Android App Testing?Bitbar
 
Live Panel: Appium Core Committers Answer Your Questions
Live Panel: Appium Core Committers Answer Your Questions		Live Panel: Appium Core Committers Answer Your Questions
Live Panel: Appium Core Committers Answer Your Questions Sauce Labs
 
Appium meet up noida
Appium meet up noidaAppium meet up noida
Appium meet up noidaAmit Rawat
 
Mobile automation – should I use robotium or calabash or appium?
Mobile automation – should I use robotium or calabash or appium?Mobile automation – should I use robotium or calabash or appium?
Mobile automation – should I use robotium or calabash or appium?Zado Technologies
 
Mobile Automation Using Appium - vodQA Bangalore 2015
Mobile Automation Using Appium - vodQA Bangalore 2015Mobile Automation Using Appium - vodQA Bangalore 2015
Mobile Automation Using Appium - vodQA Bangalore 2015Thoughtworks
 
On boarding Appium Open Source
On boarding Appium Open SourceOn boarding Appium Open Source
On boarding Appium Open SourceAsaf Saar
 
Espresso testing
Espresso testingEspresso testing
Espresso testingvodqancr
 
Selenium Camp 2016
Selenium Camp 2016Selenium Camp 2016
Selenium Camp 2016Dan Cuellar
 
[Srijan Wednesday Webinars] Building a High Performance QA Team
[Srijan Wednesday Webinars] Building a High Performance QA Team[Srijan Wednesday Webinars] Building a High Performance QA Team
[Srijan Wednesday Webinars] Building a High Performance QA TeamSrijan Technologies
 
Appium: Mobile Automation Made Awesome
Appium: Mobile Automation Made AwesomeAppium: Mobile Automation Made Awesome
Appium: Mobile Automation Made AwesomeNetcetera
 
The Future of Selenium Testing for Mobile Web and Native Apps
The Future of Selenium Testing for Mobile Web and Native AppsThe Future of Selenium Testing for Mobile Web and Native Apps
The Future of Selenium Testing for Mobile Web and Native AppsSauce Labs
 

La actualidad más candente (20)

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
 
Appium workshop technopark trivandrum
Appium workshop technopark trivandrumAppium workshop technopark trivandrum
Appium workshop technopark trivandrum
 
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
 
Mobile Test Automation - Appium
Mobile Test Automation - AppiumMobile Test Automation - Appium
Mobile Test Automation - Appium
 
Wheat - Mobile functional test automation
Wheat - Mobile functional test automationWheat - Mobile functional test automation
Wheat - Mobile functional test automation
 
Appium troubleshooting
Appium troubleshootingAppium troubleshooting
Appium troubleshooting
 
Parallel testing with appium
Parallel testing with appiumParallel testing with appium
Parallel testing with appium
 
Appium overview
Appium overviewAppium overview
Appium overview
 
Do You Enjoy Espresso in Android App Testing?
Do You Enjoy Espresso in Android App Testing?Do You Enjoy Espresso in Android App Testing?
Do You Enjoy Espresso in Android App Testing?
 
Live Panel: Appium Core Committers Answer Your Questions
Live Panel: Appium Core Committers Answer Your Questions		Live Panel: Appium Core Committers Answer Your Questions
Live Panel: Appium Core Committers Answer Your Questions
 
Appium meet up noida
Appium meet up noidaAppium meet up noida
Appium meet up noida
 
Mobile automation – should I use robotium or calabash or appium?
Mobile automation – should I use robotium or calabash or appium?Mobile automation – should I use robotium or calabash or appium?
Mobile automation – should I use robotium or calabash or appium?
 
Mobile Automation Using Appium - vodQA Bangalore 2015
Mobile Automation Using Appium - vodQA Bangalore 2015Mobile Automation Using Appium - vodQA Bangalore 2015
Mobile Automation Using Appium - vodQA Bangalore 2015
 
On boarding Appium Open Source
On boarding Appium Open SourceOn boarding Appium Open Source
On boarding Appium Open Source
 
Espresso testing
Espresso testingEspresso testing
Espresso testing
 
Selenium Camp 2016
Selenium Camp 2016Selenium Camp 2016
Selenium Camp 2016
 
Automated UI Testing Frameworks
Automated UI Testing FrameworksAutomated UI Testing Frameworks
Automated UI Testing Frameworks
 
[Srijan Wednesday Webinars] Building a High Performance QA Team
[Srijan Wednesday Webinars] Building a High Performance QA Team[Srijan Wednesday Webinars] Building a High Performance QA Team
[Srijan Wednesday Webinars] Building a High Performance QA Team
 
Appium: Mobile Automation Made Awesome
Appium: Mobile Automation Made AwesomeAppium: Mobile Automation Made Awesome
Appium: Mobile Automation Made Awesome
 
The Future of Selenium Testing for Mobile Web and Native Apps
The Future of Selenium Testing for Mobile Web and Native AppsThe Future of Selenium Testing for Mobile Web and Native Apps
The Future of Selenium Testing for Mobile Web and Native Apps
 

Similar a The Present and Future of Mobile Test Automation with Appium

Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with AppiumManoj Kumar Kumar
 
Uber Mobility Meetup: Mobile Testing
Uber Mobility Meetup:  Mobile TestingUber Mobility Meetup:  Mobile Testing
Uber Mobility Meetup: Mobile TestingApple Chow
 
Enterprise E-commerce Webinar Series, Episode 2: Deploying and Monitoring You...
Enterprise E-commerce Webinar Series, Episode 2: Deploying and Monitoring You...Enterprise E-commerce Webinar Series, Episode 2: Deploying and Monitoring You...
Enterprise E-commerce Webinar Series, Episode 2: Deploying and Monitoring You...Kin Lane
 
Quality Jam 2017: Elise Carmichael and Corey Pyle "Jumpstarting Your Test Aut...
Quality Jam 2017: Elise Carmichael and Corey Pyle "Jumpstarting Your Test Aut...Quality Jam 2017: Elise Carmichael and Corey Pyle "Jumpstarting Your Test Aut...
Quality Jam 2017: Elise Carmichael and Corey Pyle "Jumpstarting Your Test Aut...QASymphony
 
Java Test Automation for REST, Web and Mobile
Java Test Automation for REST, Web and MobileJava Test Automation for REST, Web and Mobile
Java Test Automation for REST, Web and MobileElias Nogueira
 
AWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for DevelopersAWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for DevelopersAmazon Web Services
 
Speed upyourtest with_appium
Speed upyourtest with_appiumSpeed upyourtest with_appium
Speed upyourtest with_appiumVodqaBLR
 
Webinar: Automate Your Environment Provisioning for Mobile App Development
Webinar: Automate Your Environment Provisioning for Mobile App Development Webinar: Automate Your Environment Provisioning for Mobile App Development
Webinar: Automate Your Environment Provisioning for Mobile App Development Skytap Cloud
 
Mobile Development integration tests
Mobile Development integration testsMobile Development integration tests
Mobile Development integration testsKenneth Poon
 
Enterprise E-commerce Webinar #2 - Deploy & Monitor APIs
Enterprise E-commerce Webinar #2 - Deploy & Monitor APIsEnterprise E-commerce Webinar #2 - Deploy & Monitor APIs
Enterprise E-commerce Webinar #2 - Deploy & Monitor APIsPostman
 
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...Applitools
 
Uber’s Fascinating World of Inter-App Communications
Uber’s Fascinating World of Inter-App CommunicationsUber’s Fascinating World of Inter-App Communications
Uber’s Fascinating World of Inter-App CommunicationsJosiah Renaudin
 
Front-End Testing: Demystified
Front-End Testing: DemystifiedFront-End Testing: Demystified
Front-End Testing: DemystifiedSeth McLaughlin
 
Selenium Conference Austin 2017 - Automate Windows and Mac Apps With The WebD...
Selenium Conference Austin 2017 - Automate Windows and Mac Apps With The WebD...Selenium Conference Austin 2017 - Automate Windows and Mac Apps With The WebD...
Selenium Conference Austin 2017 - Automate Windows and Mac Apps With The WebD...Selenium Conference Austin 2017
 
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
 

Similar a The Present and Future of Mobile Test Automation with Appium (20)

Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with Appium
 
Appium.pptx
Appium.pptxAppium.pptx
Appium.pptx
 
Uber Mobility Meetup: Mobile Testing
Uber Mobility Meetup:  Mobile TestingUber Mobility Meetup:  Mobile Testing
Uber Mobility Meetup: Mobile Testing
 
Enterprise E-commerce Webinar Series, Episode 2: Deploying and Monitoring You...
Enterprise E-commerce Webinar Series, Episode 2: Deploying and Monitoring You...Enterprise E-commerce Webinar Series, Episode 2: Deploying and Monitoring You...
Enterprise E-commerce Webinar Series, Episode 2: Deploying and Monitoring You...
 
Quality Jam 2017: Elise Carmichael and Corey Pyle "Jumpstarting Your Test Aut...
Quality Jam 2017: Elise Carmichael and Corey Pyle "Jumpstarting Your Test Aut...Quality Jam 2017: Elise Carmichael and Corey Pyle "Jumpstarting Your Test Aut...
Quality Jam 2017: Elise Carmichael and Corey Pyle "Jumpstarting Your Test Aut...
 
Java Test Automation for REST, Web and Mobile
Java Test Automation for REST, Web and MobileJava Test Automation for REST, Web and Mobile
Java Test Automation for REST, Web and Mobile
 
Automation using Appium
Automation using AppiumAutomation using Appium
Automation using Appium
 
AWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for DevelopersAWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for Developers
 
Appium solution
Appium solutionAppium solution
Appium solution
 
Speed upyourtest with_appium
Speed upyourtest with_appiumSpeed upyourtest with_appium
Speed upyourtest with_appium
 
Webinar: Automate Your Environment Provisioning for Mobile App Development
Webinar: Automate Your Environment Provisioning for Mobile App Development Webinar: Automate Your Environment Provisioning for Mobile App Development
Webinar: Automate Your Environment Provisioning for Mobile App Development
 
Mobile Development integration tests
Mobile Development integration testsMobile Development integration tests
Mobile Development integration tests
 
Enterprise E-commerce Webinar #2 - Deploy & Monitor APIs
Enterprise E-commerce Webinar #2 - Deploy & Monitor APIsEnterprise E-commerce Webinar #2 - Deploy & Monitor APIs
Enterprise E-commerce Webinar #2 - Deploy & Monitor APIs
 
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
 
Uber’s Fascinating World of Inter-App Communications
Uber’s Fascinating World of Inter-App CommunicationsUber’s Fascinating World of Inter-App Communications
Uber’s Fascinating World of Inter-App Communications
 
Front-End Testing: Demystified
Front-End Testing: DemystifiedFront-End Testing: Demystified
Front-End Testing: Demystified
 
Next level of Appium
Next level of AppiumNext level of Appium
Next level of Appium
 
ATAGTR2017 Appium
ATAGTR2017 AppiumATAGTR2017 Appium
ATAGTR2017 Appium
 
Selenium Conference Austin 2017 - Automate Windows and Mac Apps With The WebD...
Selenium Conference Austin 2017 - Automate Windows and Mac Apps With The WebD...Selenium Conference Austin 2017 - Automate Windows and Mac Apps With The WebD...
Selenium Conference Austin 2017 - Automate Windows and Mac Apps With The WebD...
 
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
 

Más de TechWell

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and RecoveringTechWell
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization TechWell
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTechWell
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartTechWell
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyTechWell
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTechWell
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowTechWell
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityTechWell
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyTechWell
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTechWell
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipTechWell
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsTechWell
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GameTechWell
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsTechWell
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationTechWell
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessTechWell
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateTechWell
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessTechWell
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTechWell
 

Más de TechWell (20)

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
 
Ma 15
Ma 15Ma 15
Ma 15
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
 

Último

WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?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
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
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
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
 
%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 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
 
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
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benonimasabamasaba
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 

Último (20)

WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
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...
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
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...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%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 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
 
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
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 

The Present and Future of Mobile Test Automation with Appium

  • 3. The Present and Future of Mobile Automation Jonathan Lipps • Director of Open Source • Sauce Labs 
 @AppiumDevs • @saucelabs • @jlipps Mobile Dev+Test • San Diego, CA April 28, 2017 Jonathan Lipps • Director of Open Source • Sauce Labs 
 @AppiumDevs • @saucelabs • @jlipps Director of Open Source Project Lead & Architect
  • 4. appium is the open-source, cross- platform solution for native, web, and hybrid mobile app automation appium introduction
  • 5. appium makes continuous integration possible by providing automation for mobile apps appium takes the best mobile automation technologies and gives them to you in a WebDriver interface
  • 6. Why WebDriver? It’s the globally-recognized W3C standard for browser automation WebDriver is an HTTP API POST /session POST /session/element GET /session/element/:id/:attr
  • 7. appium works with any language and any test runner / test framework, even custom ones Java : JS : Python : Ruby : PHP : C# : ObjC : Perl : Swift : Go appium enables true cross-platform test-writing. One API for iOS, Android, Windows, and macOS
  • 8. appium test model Server (appium)Client (test script)
  • 9. Server (appium)Client (test script) Construct desired capabilities Server (appium)Client (test script) Construct desired capabilities { "platformName": "iOS", "platformVersion": "10.2", "deviceName": "iPhone Simulator", "app": “/path/to/TestApp7.1.app”, "noReset": true }
  • 10. Server (appium)Client (test script) Construct desired capabilities Request a session with capabilities Server (appium)Client (test script) Construct desired capabilities Request a session with capabilities Parse capabilities
  • 11. Server (appium)Client (test script) Construct desired capabilities Request a session with capabilities Parse capabilities Start session based on caps Server (appium)Client (test script) Construct desired capabilities Request a session with capabilities Parse capabilities Start session based on capsStore session id for future calls
  • 12. Server (appium)Client (test script) Construct desired capabilities Request a session with capabilities Parse capabilities Start session based on capsStore session id for future calls Send automation commands Server (appium)Client (test script) Construct desired capabilities Request a session with capabilities Parse capabilities Start session based on capsStore session id for future calls Send automation commands Parse command request
  • 13. Server (appium)Client (test script) Construct desired capabilities Request a session with capabilities Parse capabilities Start session based on capsStore session id for future calls Send automation commands Parse command request Perform automation Server (appium)Client (test script) Construct desired capabilities Request a session with capabilities Parse capabilities Start session based on capsStore session id for future calls Send automation commands Parse command request Perform automationCheck result, make verifications, etc…
  • 14. Server (appium)Client (test script) Construct desired capabilities Request a session with capabilities Parse capabilities Start session based on capsStore session id for future calls Send automation commands Parse command request Perform automationCheck result, make verifications, etc… Server (appium)Client (test script) Construct desired capabilities Request a session with capabilities Parse capabilities Start session based on capsStore session id for future calls Send automation commands Parse command request Perform automationCheck result, make verifications, etc… Request session quit
  • 15. Server (appium)Client (test script) Construct desired capabilities Request a session with capabilities Parse capabilities Start session based on capsStore session id for future calls Send automation commands Parse command request Perform automationCheck result, make verifications, etc… Request session quit Shut down app, clean up resources WebDriver / appium API Example Description findElement Find an element by its accessibility id, resource id, xpath query, etc… click Click/tap on a found element getText Get the label/text of a found element sendKeys Type into an input field or adjust other UI controls (like setting slider value)
  • 16. appium philosophy The world of mobile and other new platform automation is constantly changing
  • 17. The world of mobile and other new platform automation is constantly changing Earl GreyEspresso XCUITest UiAutomator UiAutomator 2 UIAutomation With each new technology come new benefits, but also drawbacks and the pain of relearning and rewriting everything
  • 18. appium finds the best automation technologies and translates them to the same standard WebDriver API The appium “umbrella” • Get the benefits of new automation tech without having to rewrite your tests • Leverage your industry-standard Selenium/WebDriver experience • Write cross-platform tests: one API for multiple platforms • Encourage platform vendors to support one stable and standard protocol
  • 19. appium platforms Deprecated Platform Description iOS - Instruments & UiAutomation - Powered by Instruments & UiAutomation - Available up till iOS 9.3 Android - UiAutomator - Powered by UiAutomator - Supported from Android 4.2 - Superseded by UiAutomator 2
  • 20. Current Platform Description iOS - Powered by XCUITest (Apple) & WDA (Facebook) - Available for iOS 9.3+ Android - Powered by UiAutomator 2 (Google) - Released before Android 6.0 Windows Desktop - Powered by WinAppDriver (Microsoft) - Released before Android 6.0 macOS Desktop - Powered by Appium for Mac (community) - Works with most versions of OS X youi.tv - Powered by youi-engine (Youi) - Works with the Youi app framework appium platform demos
  • 22. appium desktop is a point and click interface for using appium and inspecting your app’s structure appium desktop makes it easy to get started writing tests for your app by showing you what elements you can use
  • 24. In a world of many automation platforms, appium becomes more than a software package bundling them all together The driver portfolio grows • WinAppDriver expands to support mobile, Xbox, more? • Espresso support? • Earl Grey support? • Unity3d support? • IoT platform support?
  • 25. IoT??!?? • Automate IoT UIs (Android-based) • Automate IoT framework software • Lots of other possibilities…
  • 26. appium 2.0 is… • The WebDriver protocol (plus necessary extensions) • A set of NodeJS libraries for writing drivers easily • A loose federation of drivers maintained by communities • A CLI tool for installing, managing, and running drivers • Extending this tool to appium desktop appium is the open-source, cross- platform solution for native, web, and hybrid mobile app automation
  • 27. Thanks! http://appium.io https://github.com/appium/appium @AppiumDevs • @saucelabs • @jlipps Questions? http://appium.io https://github.com/appium/appium @AppiumDevs • @saucelabs • @jlipps