SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
The Shifting Landscape of Mobile Automation
Jonathan Lipps • Founding Principal • Cloud Grey


@AppiumDevs • @cloudgrey_io • @jlipps
Applitools Webinar · The Internet
February 23, 2018
Founding Principal
Project Lead & Architect
Jonathan Lipps • Founding Principal • Cloud Grey


@AppiumDevs • @cloudgrey_io • @jlipps
5 years ago
Android Instrumentation
Open Source Proprietary
Appium
Android Instrumentation*
Android UiAutomator*
Robotium
Frank
Selendroid
ios-driver
KIF
Calabash
Apple Instruments +
UIAutomation
Today
XCUITest
(iOS)
EarlGrey
(iOS)
Detox
(iOS + Android)
Espresso
(Android)
Appium
(Many)
Xamarin.UITest
(iOS + Android)
🛠 🛠
WebDriverAgent
(iOS)
🛠🛠🛠
Open Source (Owner) Proprietary
Appium (JS Foundation)
Espresso* (Google)
EarlGrey (Google)
Detox (Wix)
Xamarin.UITest (Microsoft)
WebDriverAgent (Facebook)
XCUITest (Apple)
Framework Platforms Modes Languages Protocol
Requires
Source?
Underlying
Tech /
Vendor
IDE/SDK
integration
Service
Providers
Dev
Appium
iOS, Android,
macOS,
Windows
Native, Hybrid,
Web
Java, Python, Ruby,
C#, JavaScript,
Objective-C, Swift,
PHP
WebDriver No
WDA,
UiAutomator2,
Espresso,
WinAppDriver,
appium-for-mac
N/A
Sauce Labs,
TestObject, AWS,
BrowserStack, BitBar,
Xamarin, AppCenter,
etc…
Full OSS
Espresso Android Native, Hybrid Java, Kotlin Non-standard Yes Google Android Studio
FireBase, BitRise,
TestObject, BitBar,
AWS
Semi OSS
XCUITest iOS Native
Objective-C,
Swift
Non-standard Yes Apple Xcode
AWS, BitBar,
BuddyBuild
Closed
EarlGrey iOS Native
Objective-C,
Swift
Non-standard Yes Google Xcode BuddyBuild Semi OSS
Detox iOS, Android* Native JavaScript Non-standard No
EarlGrey,
Espresso
N/A N/A Full OSS
Xamarin.UITest iOS, Android
Native,
Hybrid?
C# Non-standard No
Microsoft /
Calabash
Visual Studio
Xamarin
TestCloud,
AppCenter
Closed
WDA iOS Native
Java, Python, Ruby,
C#, JavaScript,
Objective-C, Swift,
PHP
WebDriver No XCUITest N/A N/A Semi OSS
Framework Platforms Modes Languages Protocol
Appium
iOS, Android, macOS,
Windows
Native, Hybrid, Web
Java, Python, Ruby, C#,
JavaScript, Objective-C,
Swift, PHP
WebDriver
Espresso Android Native, Hybrid Java, Kotlin Non-standard
XCUITest iOS Native Objective-C, Swift Non-standard
EarlGrey iOS Native Objective-C, Swift Non-standard
Detox iOS, Android* Native JavaScript Non-standard
Xamarin.UITest iOS, Android Native, Hybrid? C# Non-standard
WDA iOS Native
Java, Python, Ruby, C#,
JavaScript, Objective-C,
Swift, PHP
WebDriver
Framework Requires Source?
Underlying Tech /
Vendor
IDE/SDK integration Service Providers Dev
Appium No
WDA, UiAutomator2,
Espresso, WinAppDriver,
appium-for-mac
N/A
Sauce Labs, TestObject,
AWS, BrowserStack, BitBar,
Xamarin, AppCenter, etc…
Full OSS
Espresso Yes Google Android Studio
FireBase, BitRise,
TestObject, BitBar, AWS
Semi OSS
XCUITest Yes Apple Xcode AWS, BitBar, BuddyBuild Closed
EarlGrey Yes Google Xcode BuddyBuild Semi OSS
Detox No EarlGrey, Espresso N/A N/A Full OSS
Xamarin.UITest No Microsoft / Calabash Visual Studio
Xamarin TestCloud,
AppCenter
Closed
WDA No XCUITest N/A N/A Semi OSS
Framework Adoption Strongest Value Weak Point
Appium
Most popular open source automation
technology
Write tests in any language, leverage
WebDriver skills, excellent mobile web
support, multi-platform support
Speed, stability*
Espresso Most popular native Android framework
Officially supported by Google. Fastest and
most stable for Android
Single-platform, tests must be written in
JVM language
XCUITest Most popular native iOS framework Officially supported by Apple
Single-platform, tests must be written in
Apple language. Speed, stability.
EarlGrey Low
Officially supported by Google. Benefits of
Espresso for iOS
Project rewrite is in progress. Single
platform.
Detox Low
Writing JS-based tests for React Native
apps
No vendor support. Stability.
Xamarin.UITest Low
Officially supported by Microsoft. Write in
C#.
Speed, stability. Single language.
WDA Low
Write tests in any language, leverage
WebDriver skills
Single-platform. Speed, stability.
Appium
Install Appium via NPM or Appium Desktop. Ensure you have system dependencies in
place (Android SDK, adb, Xcode, iOS SDK, etc…)
Write a WebDriver-style test using the Selenium or Appium client in your language.
Start the Appium server, then run your test. It speaks to the Appium server, which
turns WebDriver requests into automation behavior, and returns WebDriver
responses.
The client makes the response available to your test script, which can take action or
perform verification based on the result
Espresso
Add Espresso to your Android app’s test dependencies
Write JUnit tests that use Espresso’s view matchers to find elements and interact with
them. The same library contains assertion methods.
Run your test using AndroidJUnitRunner
XCUITest
Add a class to your iOS project in Xcode that extends XCTestCase
Override a setUp method and call XCUIApplication’s launch method
Use the object-oriented XCUITest API to find elements and interact with them
Use XCTAssert methods to make verifications
View reports in Xcode’s Test Navigator
🛠
EarlGrey
Add a new iOS unit testing bundle to your iOS project
Install the EarlGrey rubygem and add EarlGrey as a CocoaPod dependency
Add a new XCTestCase class which imports EarlGrey
Use methods chained on the EarlGrey library to find elements, perform actions, and
make assertions (just like in Espresso)
View reports in Xcode’s Test Navigator
🛠
Detox
Install detox via npm and applesimutils via homebrew
Decorate your React Native project’s package.json with Detox config information
(device to run on, xcodebuild instructions for your app, etc…)
Add a JS test script that utilizes Detox’s global variables which will be injected by the
Detox runner (e.g., device, element)
Build the app using detox build and then run your test using detox test, which wraps
a JS test runner of your choice, e.g., Mocha
🛠
Xamarin.UITest
Add a new UITest project to your Visual Studio solution with the appropriate UITest
template. This will make sure the NuGet dependencies are set.
Associate your mobile projects with the test project
Create a C# test class that imports NUnit and Xamarin.UITest
Write a [SetUp] decorated method that calls ConfigureApp.<platform>.StartApp()
(for the appropriate platform)
Use the resulting app object to perform actions on matching predicates
🛠
WebDriverAgent
Clone the WebDriverAgent repo and run its bootstrap script to use Carthage and
download dependencies
Open the WebDriverAgent Xcode project and run it, or use xcodebuild to build and
run from the command line
Watch the output of WebDriverAgent’s logs to determine its port
Write a WebDriver-style test using the Selenium or Appium client in your language.
Point the RemoteWebDriver to the WDA host/port, and run the test.
🛠
5 years from now
(in my dreams)
Espresso
(Android)
Appium
(Many)
XCUITest
(iOS)
🛠
EarlGrey
(iOS)
🛠
WebDriverAgent
(iOS)
🛠
Xamarin.UITest
(iOS + Android)
🛠
Detox
(iOS + Android)
🛠
Highly integrated with other apps,
locations, experiences
Situation-aware, AR
Spanning many form factors
Phone, watch, TV, goggles, glasses,
installations, tables, ?
Spanning many platforms React Native leads the way
More than stock UI components 3d UIs, VR/AR, IoT
The “mobile” app of the future
Visual testing
Does my app look the way it’s supposed to?
(AVM*)
Performance testing Is my app experience responsive enough?
Security testing
Is my app safe for my customers to use? Is it safe
for me to let them use it?
Location testing
Does my app work the same way anywhere in the
world?
Flow testing
What are all the paths through my app? How hard
is it for users to get where I want them to go?
Beyond functional testing
“Shift left” is now a household term
Automate the automation - code gen, AI, etc…
Tool and framework fatigue
The automation trend continues
To InfinityDriver & Beyond…
An official extension to the WebDriver protocol
A set of Node.js base classes and libraries for easily writing drivers
Multiple drivers, each one a WebDriver interface on top of the best automation tech of the
day for a given platform, plus a helpful collection of other utilities. A stable API on top of a
changing set of underlying technologies.
A community of practitioners who maintain an ever-expanding knowledge-base for
different platforms
The Appium of the Future / ✩Driver / ∞Driver
The WebDriver protocol is a great start! But is it the end of the line?
So many new kinds of testing emerging. Do we create a different protocol for each
one?
Whatever we do, let’s not compete on standards. Implementations? Yes. Standards?
No.
…and beyond!
Promote WebDriver over other options. Not because it’s necessarily the best, but
because it’s a standard.
Contribute your wisdom and experience for a particular platform to the community-
maintained Appium driver for that platform.
Contribute code and help maintain! If we all pitch in a little bit, we all get a lot more in
return. This is the standard open source value prop for businesses.
Big visions require broad support
1
2
3
Thank You
Jonathan Lipps • Founding Principal • Cloud Grey


@AppiumDevs • @cloudgrey_io • @jlipps
Questions?
Jonathan Lipps • Founding Principal • Cloud Grey


@AppiumDevs • @cloudgrey_io • @jlipps
Don’t forget to sign up for
Your free weekly Appium newsletter
https://appiumpro.com

Más contenido relacionado

La actualidad más candente

Introduction to mobile cross platform solutions(Xamarin vs React Native vs Fl...
Introduction to mobile cross platform solutions(Xamarin vs React Native vs Fl...Introduction to mobile cross platform solutions(Xamarin vs React Native vs Fl...
Introduction to mobile cross platform solutions(Xamarin vs React Native vs Fl...Jianbin LIN
 
20170302 tryswift tasting_tests
20170302 tryswift tasting_tests20170302 tryswift tasting_tests
20170302 tryswift tasting_testsKazuaki Matsuo
 
Google IO 2015 Highlights
Google IO 2015 HighlightsGoogle IO 2015 Highlights
Google IO 2015 HighlightsGerard
 
IO17就是講義氣
IO17就是講義氣IO17就是講義氣
IO17就是講義氣PRADA Hsiung
 
Instant app Intro
Instant app IntroInstant app Intro
Instant app IntroJintin Lin
 
Cross Platform Application Development Using Flutter
Cross Platform Application Development Using FlutterCross Platform Application Development Using Flutter
Cross Platform Application Development Using FlutterAbhishek Kumar Gupta
 
React native vs. ionic – which one is better and why
React native vs. ionic – which one is better and why React native vs. ionic – which one is better and why
React native vs. ionic – which one is better and why Moon Technolabs Pvt. Ltd.
 
Build mobile back-end (Restful API) by using Microsoft Azure Functions
Build mobile back-end (Restful API) by using Microsoft Azure FunctionsBuild mobile back-end (Restful API) by using Microsoft Azure Functions
Build mobile back-end (Restful API) by using Microsoft Azure FunctionsSuki Huang
 
Flutter vs React Native Development in 2020
Flutter vs React Native Development in 2020Flutter vs React Native Development in 2020
Flutter vs React Native Development in 2020Devathon
 
Android best practices 2015
Android best practices 2015Android best practices 2015
Android best practices 2015Sean Katz
 
Debugging and Tuning Mobile Web Sites with Modern Web Browsers
Debugging and Tuning Mobile Web Sites with Modern Web BrowsersDebugging and Tuning Mobile Web Sites with Modern Web Browsers
Debugging and Tuning Mobile Web Sites with Modern Web BrowsersTroy Miles
 
4 Ways to Speed Up Your Mobile App Dev Daily Grind
4 Ways to Speed Up Your Mobile App Dev Daily Grind4 Ways to Speed Up Your Mobile App Dev Daily Grind
4 Ways to Speed Up Your Mobile App Dev Daily GrindPerfecto by Perforce
 
Spring roo for entrepreneurs
Spring roo for entrepreneursSpring roo for entrepreneurs
Spring roo for entrepreneursMans Jug
 
Groovy Testing Aug2009
Groovy Testing Aug2009Groovy Testing Aug2009
Groovy Testing Aug2009guest4a266c
 
Flutter vs React Native | Edureka
Flutter vs React Native | EdurekaFlutter vs React Native | Edureka
Flutter vs React Native | EdurekaEdureka!
 

La actualidad más candente (20)

Introduction to mobile cross platform solutions(Xamarin vs React Native vs Fl...
Introduction to mobile cross platform solutions(Xamarin vs React Native vs Fl...Introduction to mobile cross platform solutions(Xamarin vs React Native vs Fl...
Introduction to mobile cross platform solutions(Xamarin vs React Native vs Fl...
 
20170302 tryswift tasting_tests
20170302 tryswift tasting_tests20170302 tryswift tasting_tests
20170302 tryswift tasting_tests
 
Google IO 2015 Highlights
Google IO 2015 HighlightsGoogle IO 2015 Highlights
Google IO 2015 Highlights
 
IO17就是講義氣
IO17就是講義氣IO17就是講義氣
IO17就是講義氣
 
Roadmap to Development
Roadmap to DevelopmentRoadmap to Development
Roadmap to Development
 
Instant app Intro
Instant app IntroInstant app Intro
Instant app Intro
 
Cross Platform Application Development Using Flutter
Cross Platform Application Development Using FlutterCross Platform Application Development Using Flutter
Cross Platform Application Development Using Flutter
 
React native vs. ionic – which one is better and why
React native vs. ionic – which one is better and why React native vs. ionic – which one is better and why
React native vs. ionic – which one is better and why
 
Build mobile back-end (Restful API) by using Microsoft Azure Functions
Build mobile back-end (Restful API) by using Microsoft Azure FunctionsBuild mobile back-end (Restful API) by using Microsoft Azure Functions
Build mobile back-end (Restful API) by using Microsoft Azure Functions
 
flutter.school #HelloWorld
flutter.school #HelloWorldflutter.school #HelloWorld
flutter.school #HelloWorld
 
Flutter vs React Native Development in 2020
Flutter vs React Native Development in 2020Flutter vs React Native Development in 2020
Flutter vs React Native Development in 2020
 
Flutter for web
Flutter for webFlutter for web
Flutter for web
 
Android best practices 2015
Android best practices 2015Android best practices 2015
Android best practices 2015
 
Debugging and Tuning Mobile Web Sites with Modern Web Browsers
Debugging and Tuning Mobile Web Sites with Modern Web BrowsersDebugging and Tuning Mobile Web Sites with Modern Web Browsers
Debugging and Tuning Mobile Web Sites with Modern Web Browsers
 
4 Ways to Speed Up Your Mobile App Dev Daily Grind
4 Ways to Speed Up Your Mobile App Dev Daily Grind4 Ways to Speed Up Your Mobile App Dev Daily Grind
4 Ways to Speed Up Your Mobile App Dev Daily Grind
 
Spring roo for entrepreneurs
Spring roo for entrepreneursSpring roo for entrepreneurs
Spring roo for entrepreneurs
 
Groovy Testing Aug2009
Groovy Testing Aug2009Groovy Testing Aug2009
Groovy Testing Aug2009
 
Flutter vs React Native | Edureka
Flutter vs React Native | EdurekaFlutter vs React Native | Edureka
Flutter vs React Native | Edureka
 
Flutter
FlutterFlutter
Flutter
 
Introduction to Flutter
Introduction to FlutterIntroduction to Flutter
Introduction to Flutter
 

Similar a Shifting landscape of mobile automation, and the future of Appium - Jonathan Lipps

Building Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using CordovaBuilding Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using CordovaNoam Kfir
 
Mobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and DockerMobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and DockerMoataz Nabil
 
利用 Appium + Robot Framework 實現跨平台 App 互動測試
利用 Appium + Robot Framework 實現跨平台 App 互動測試利用 Appium + Robot Framework 實現跨平台 App 互動測試
利用 Appium + Robot Framework 實現跨平台 App 互動測試Jeremy Kao
 
Cross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic FrameworkCross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic FrameworkTroy Miles
 
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
 
Getting Acquainted with PhoneGap
Getting Acquainted with PhoneGapGetting Acquainted with PhoneGap
Getting Acquainted with PhoneGapJoseph Labrecque
 
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Ryan Cuprak
 
Mobile application development platform
Mobile application development platformMobile application development platform
Mobile application development platformi4consulting.org
 
Cross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual StudioCross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual StudioMizanur Sarker
 
NativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
NativeScript: Cross-Platform Mobile Apps with JavaScript and AngularNativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
NativeScript: Cross-Platform Mobile Apps with JavaScript and AngularTodd Anglin
 
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
 
Hybrid Mobile Development with Apache Cordova and
Hybrid Mobile Development with Apache Cordova and Hybrid Mobile Development with Apache Cordova and
Hybrid Mobile Development with Apache Cordova and Ryan Cuprak
 
Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016Dan Cuellar
 
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
 
Upgrading Mobile Tester's Weapons with Advanced Debugging
Upgrading Mobile Tester's Weapons with Advanced DebuggingUpgrading Mobile Tester's Weapons with Advanced Debugging
Upgrading Mobile Tester's Weapons with Advanced DebuggingAbhijeet Vaikar
 
ATAGTR2017 Upgrading a mobile tester's weapons with advanced debugging
ATAGTR2017 Upgrading a mobile tester's weapons with advanced debuggingATAGTR2017 Upgrading a mobile tester's weapons with advanced debugging
ATAGTR2017 Upgrading a mobile tester's weapons with advanced debuggingAgile Testing Alliance
 
NCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile AppsNCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile AppsJohn M. Wargo
 

Similar a Shifting landscape of mobile automation, and the future of Appium - Jonathan Lipps (20)

Building Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using CordovaBuilding Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using Cordova
 
Mobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and DockerMobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and Docker
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile Development
 
利用 Appium + Robot Framework 實現跨平台 App 互動測試
利用 Appium + Robot Framework 實現跨平台 App 互動測試利用 Appium + Robot Framework 實現跨平台 App 互動測試
利用 Appium + Robot Framework 實現跨平台 App 互動測試
 
Appium solution
Appium solutionAppium solution
Appium solution
 
Cross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic FrameworkCross Platform Mobile Apps with the Ionic Framework
Cross Platform Mobile Apps with the Ionic Framework
 
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)
 
Getting Acquainted with PhoneGap
Getting Acquainted with PhoneGapGetting Acquainted with PhoneGap
Getting Acquainted with PhoneGap
 
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
 
Mobile application development platform
Mobile application development platformMobile application development platform
Mobile application development platform
 
Cross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual StudioCross-Platform Development using Angulr JS in Visual Studio
Cross-Platform Development using Angulr JS in Visual Studio
 
NativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
NativeScript: Cross-Platform Mobile Apps with JavaScript and AngularNativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
NativeScript: Cross-Platform Mobile Apps with JavaScript and Angular
 
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
 
Appium.pptx
Appium.pptxAppium.pptx
Appium.pptx
 
Hybrid Mobile Development with Apache Cordova and
Hybrid Mobile Development with Apache Cordova and Hybrid Mobile Development with Apache Cordova and
Hybrid Mobile Development with Apache Cordova and
 
Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016
 
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...
 
Upgrading Mobile Tester's Weapons with Advanced Debugging
Upgrading Mobile Tester's Weapons with Advanced DebuggingUpgrading Mobile Tester's Weapons with Advanced Debugging
Upgrading Mobile Tester's Weapons with Advanced Debugging
 
ATAGTR2017 Upgrading a mobile tester's weapons with advanced debugging
ATAGTR2017 Upgrading a mobile tester's weapons with advanced debuggingATAGTR2017 Upgrading a mobile tester's weapons with advanced debugging
ATAGTR2017 Upgrading a mobile tester's weapons with advanced debugging
 
NCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile AppsNCDevCon 2017 - Cross Platform Mobile Apps
NCDevCon 2017 - Cross Platform Mobile Apps
 

Más de Applitools

Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
Streamlining Your Tech Stack: A Blueprint for Enhanced Efficiency and Coverag...
Streamlining Your Tech Stack: A Blueprint for Enhanced Efficiency and Coverag...Streamlining Your Tech Stack: A Blueprint for Enhanced Efficiency and Coverag...
Streamlining Your Tech Stack: A Blueprint for Enhanced Efficiency and Coverag...Applitools
 
Visual AI for eCommerce: Improving Conversions with a Flawless UI
Visual AI for eCommerce: Improving Conversions with a Flawless UIVisual AI for eCommerce: Improving Conversions with a Flawless UI
Visual AI for eCommerce: Improving Conversions with a Flawless UIApplitools
 
A Test Automation Platform Designed for the Future
A Test Automation Platform Designed for the FutureA Test Automation Platform Designed for the Future
A Test Automation Platform Designed for the FutureApplitools
 
Add AI to Your SDLC, presented by Applitools and Curiosity
Add AI to Your SDLC, presented by Applitools and CuriosityAdd AI to Your SDLC, presented by Applitools and Curiosity
Add AI to Your SDLC, presented by Applitools and CuriosityApplitools
 
The Future of AI-Based Test Automation
The Future of AI-Based Test AutomationThe Future of AI-Based Test Automation
The Future of AI-Based Test AutomationApplitools
 
Test Automation at Scale: Lessons from Top-Performing Distributed Teams
Test Automation at Scale: Lessons from Top-Performing Distributed TeamsTest Automation at Scale: Lessons from Top-Performing Distributed Teams
Test Automation at Scale: Lessons from Top-Performing Distributed TeamsApplitools
 
Can AI Autogenerate and Run Automated Tests?
Can AI Autogenerate and Run Automated Tests?Can AI Autogenerate and Run Automated Tests?
Can AI Autogenerate and Run Automated Tests?Applitools
 
Triple Assurance: AI-Powered Test Automation in UI Design and Functionality
Triple Assurance: AI-Powered Test Automation in UI Design and FunctionalityTriple Assurance: AI-Powered Test Automation in UI Design and Functionality
Triple Assurance: AI-Powered Test Automation in UI Design and FunctionalityApplitools
 
Navigating the Challenges of Testing at Scale: Lessons from Top-Performing Teams
Navigating the Challenges of Testing at Scale: Lessons from Top-Performing TeamsNavigating the Challenges of Testing at Scale: Lessons from Top-Performing Teams
Navigating the Challenges of Testing at Scale: Lessons from Top-Performing TeamsApplitools
 
Introducing the Applitools Self Healing Execution Cloud.pdf
Introducing the Applitools Self Healing Execution Cloud.pdfIntroducing the Applitools Self Healing Execution Cloud.pdf
Introducing the Applitools Self Healing Execution Cloud.pdfApplitools
 
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...Applitools
 
Collaborating From Design To Experience: Introducing Centra
Collaborating From Design To Experience: Introducing CentraCollaborating From Design To Experience: Introducing Centra
Collaborating From Design To Experience: Introducing CentraApplitools
 
What the QA Position Will Look Like in the Future
What the QA Position Will Look Like in the FutureWhat the QA Position Will Look Like in the Future
What the QA Position Will Look Like in the FutureApplitools
 
Getting Started with Visual Testing
Getting Started with Visual TestingGetting Started with Visual Testing
Getting Started with Visual TestingApplitools
 
Workshop: Head-to-Head Web Testing: Part 1 with Cypress
Workshop: Head-to-Head Web Testing: Part 1 with CypressWorkshop: Head-to-Head Web Testing: Part 1 with Cypress
Workshop: Head-to-Head Web Testing: Part 1 with CypressApplitools
 
From Washing Cars To Automating Test Applications
From Washing Cars To Automating Test ApplicationsFrom Washing Cars To Automating Test Applications
From Washing Cars To Automating Test ApplicationsApplitools
 
A Holistic Approach to Testing in Continuous Delivery
A Holistic Approach to Testing in Continuous DeliveryA Holistic Approach to Testing in Continuous Delivery
A Holistic Approach to Testing in Continuous DeliveryApplitools
 
AI-Powered-Cross-Browser Testing
AI-Powered-Cross-Browser TestingAI-Powered-Cross-Browser Testing
AI-Powered-Cross-Browser TestingApplitools
 
Workshop: An Introduction to API Automation with Javascript
Workshop: An Introduction to API Automation with JavascriptWorkshop: An Introduction to API Automation with Javascript
Workshop: An Introduction to API Automation with JavascriptApplitools
 

Más de Applitools (20)

Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
Streamlining Your Tech Stack: A Blueprint for Enhanced Efficiency and Coverag...
Streamlining Your Tech Stack: A Blueprint for Enhanced Efficiency and Coverag...Streamlining Your Tech Stack: A Blueprint for Enhanced Efficiency and Coverag...
Streamlining Your Tech Stack: A Blueprint for Enhanced Efficiency and Coverag...
 
Visual AI for eCommerce: Improving Conversions with a Flawless UI
Visual AI for eCommerce: Improving Conversions with a Flawless UIVisual AI for eCommerce: Improving Conversions with a Flawless UI
Visual AI for eCommerce: Improving Conversions with a Flawless UI
 
A Test Automation Platform Designed for the Future
A Test Automation Platform Designed for the FutureA Test Automation Platform Designed for the Future
A Test Automation Platform Designed for the Future
 
Add AI to Your SDLC, presented by Applitools and Curiosity
Add AI to Your SDLC, presented by Applitools and CuriosityAdd AI to Your SDLC, presented by Applitools and Curiosity
Add AI to Your SDLC, presented by Applitools and Curiosity
 
The Future of AI-Based Test Automation
The Future of AI-Based Test AutomationThe Future of AI-Based Test Automation
The Future of AI-Based Test Automation
 
Test Automation at Scale: Lessons from Top-Performing Distributed Teams
Test Automation at Scale: Lessons from Top-Performing Distributed TeamsTest Automation at Scale: Lessons from Top-Performing Distributed Teams
Test Automation at Scale: Lessons from Top-Performing Distributed Teams
 
Can AI Autogenerate and Run Automated Tests?
Can AI Autogenerate and Run Automated Tests?Can AI Autogenerate and Run Automated Tests?
Can AI Autogenerate and Run Automated Tests?
 
Triple Assurance: AI-Powered Test Automation in UI Design and Functionality
Triple Assurance: AI-Powered Test Automation in UI Design and FunctionalityTriple Assurance: AI-Powered Test Automation in UI Design and Functionality
Triple Assurance: AI-Powered Test Automation in UI Design and Functionality
 
Navigating the Challenges of Testing at Scale: Lessons from Top-Performing Teams
Navigating the Challenges of Testing at Scale: Lessons from Top-Performing TeamsNavigating the Challenges of Testing at Scale: Lessons from Top-Performing Teams
Navigating the Challenges of Testing at Scale: Lessons from Top-Performing Teams
 
Introducing the Applitools Self Healing Execution Cloud.pdf
Introducing the Applitools Self Healing Execution Cloud.pdfIntroducing the Applitools Self Healing Execution Cloud.pdf
Introducing the Applitools Self Healing Execution Cloud.pdf
 
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
 
Collaborating From Design To Experience: Introducing Centra
Collaborating From Design To Experience: Introducing CentraCollaborating From Design To Experience: Introducing Centra
Collaborating From Design To Experience: Introducing Centra
 
What the QA Position Will Look Like in the Future
What the QA Position Will Look Like in the FutureWhat the QA Position Will Look Like in the Future
What the QA Position Will Look Like in the Future
 
Getting Started with Visual Testing
Getting Started with Visual TestingGetting Started with Visual Testing
Getting Started with Visual Testing
 
Workshop: Head-to-Head Web Testing: Part 1 with Cypress
Workshop: Head-to-Head Web Testing: Part 1 with CypressWorkshop: Head-to-Head Web Testing: Part 1 with Cypress
Workshop: Head-to-Head Web Testing: Part 1 with Cypress
 
From Washing Cars To Automating Test Applications
From Washing Cars To Automating Test ApplicationsFrom Washing Cars To Automating Test Applications
From Washing Cars To Automating Test Applications
 
A Holistic Approach to Testing in Continuous Delivery
A Holistic Approach to Testing in Continuous DeliveryA Holistic Approach to Testing in Continuous Delivery
A Holistic Approach to Testing in Continuous Delivery
 
AI-Powered-Cross-Browser Testing
AI-Powered-Cross-Browser TestingAI-Powered-Cross-Browser Testing
AI-Powered-Cross-Browser Testing
 
Workshop: An Introduction to API Automation with Javascript
Workshop: An Introduction to API Automation with JavascriptWorkshop: An Introduction to API Automation with Javascript
Workshop: An Introduction to API Automation with Javascript
 

Último

%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
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
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
%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
 
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
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
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
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
%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
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 

Último (20)

%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
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
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
%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
 
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
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
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
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
%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
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 

Shifting landscape of mobile automation, and the future of Appium - Jonathan Lipps

  • 1. The Shifting Landscape of Mobile Automation Jonathan Lipps • Founding Principal • Cloud Grey 
 @AppiumDevs • @cloudgrey_io • @jlipps Applitools Webinar · The Internet February 23, 2018
  • 2. Founding Principal Project Lead & Architect Jonathan Lipps • Founding Principal • Cloud Grey 
 @AppiumDevs • @cloudgrey_io • @jlipps
  • 5. Open Source Proprietary Appium Android Instrumentation* Android UiAutomator* Robotium Frank Selendroid ios-driver KIF Calabash Apple Instruments + UIAutomation
  • 8. Open Source (Owner) Proprietary Appium (JS Foundation) Espresso* (Google) EarlGrey (Google) Detox (Wix) Xamarin.UITest (Microsoft) WebDriverAgent (Facebook) XCUITest (Apple)
  • 9. Framework Platforms Modes Languages Protocol Requires Source? Underlying Tech / Vendor IDE/SDK integration Service Providers Dev Appium iOS, Android, macOS, Windows Native, Hybrid, Web Java, Python, Ruby, C#, JavaScript, Objective-C, Swift, PHP WebDriver No WDA, UiAutomator2, Espresso, WinAppDriver, appium-for-mac N/A Sauce Labs, TestObject, AWS, BrowserStack, BitBar, Xamarin, AppCenter, etc… Full OSS Espresso Android Native, Hybrid Java, Kotlin Non-standard Yes Google Android Studio FireBase, BitRise, TestObject, BitBar, AWS Semi OSS XCUITest iOS Native Objective-C, Swift Non-standard Yes Apple Xcode AWS, BitBar, BuddyBuild Closed EarlGrey iOS Native Objective-C, Swift Non-standard Yes Google Xcode BuddyBuild Semi OSS Detox iOS, Android* Native JavaScript Non-standard No EarlGrey, Espresso N/A N/A Full OSS Xamarin.UITest iOS, Android Native, Hybrid? C# Non-standard No Microsoft / Calabash Visual Studio Xamarin TestCloud, AppCenter Closed WDA iOS Native Java, Python, Ruby, C#, JavaScript, Objective-C, Swift, PHP WebDriver No XCUITest N/A N/A Semi OSS
  • 10. Framework Platforms Modes Languages Protocol Appium iOS, Android, macOS, Windows Native, Hybrid, Web Java, Python, Ruby, C#, JavaScript, Objective-C, Swift, PHP WebDriver Espresso Android Native, Hybrid Java, Kotlin Non-standard XCUITest iOS Native Objective-C, Swift Non-standard EarlGrey iOS Native Objective-C, Swift Non-standard Detox iOS, Android* Native JavaScript Non-standard Xamarin.UITest iOS, Android Native, Hybrid? C# Non-standard WDA iOS Native Java, Python, Ruby, C#, JavaScript, Objective-C, Swift, PHP WebDriver
  • 11. Framework Requires Source? Underlying Tech / Vendor IDE/SDK integration Service Providers Dev Appium No WDA, UiAutomator2, Espresso, WinAppDriver, appium-for-mac N/A Sauce Labs, TestObject, AWS, BrowserStack, BitBar, Xamarin, AppCenter, etc… Full OSS Espresso Yes Google Android Studio FireBase, BitRise, TestObject, BitBar, AWS Semi OSS XCUITest Yes Apple Xcode AWS, BitBar, BuddyBuild Closed EarlGrey Yes Google Xcode BuddyBuild Semi OSS Detox No EarlGrey, Espresso N/A N/A Full OSS Xamarin.UITest No Microsoft / Calabash Visual Studio Xamarin TestCloud, AppCenter Closed WDA No XCUITest N/A N/A Semi OSS
  • 12. Framework Adoption Strongest Value Weak Point Appium Most popular open source automation technology Write tests in any language, leverage WebDriver skills, excellent mobile web support, multi-platform support Speed, stability* Espresso Most popular native Android framework Officially supported by Google. Fastest and most stable for Android Single-platform, tests must be written in JVM language XCUITest Most popular native iOS framework Officially supported by Apple Single-platform, tests must be written in Apple language. Speed, stability. EarlGrey Low Officially supported by Google. Benefits of Espresso for iOS Project rewrite is in progress. Single platform. Detox Low Writing JS-based tests for React Native apps No vendor support. Stability. Xamarin.UITest Low Officially supported by Microsoft. Write in C#. Speed, stability. Single language. WDA Low Write tests in any language, leverage WebDriver skills Single-platform. Speed, stability.
  • 13. Appium Install Appium via NPM or Appium Desktop. Ensure you have system dependencies in place (Android SDK, adb, Xcode, iOS SDK, etc…) Write a WebDriver-style test using the Selenium or Appium client in your language. Start the Appium server, then run your test. It speaks to the Appium server, which turns WebDriver requests into automation behavior, and returns WebDriver responses. The client makes the response available to your test script, which can take action or perform verification based on the result
  • 14. Espresso Add Espresso to your Android app’s test dependencies Write JUnit tests that use Espresso’s view matchers to find elements and interact with them. The same library contains assertion methods. Run your test using AndroidJUnitRunner
  • 15. XCUITest Add a class to your iOS project in Xcode that extends XCTestCase Override a setUp method and call XCUIApplication’s launch method Use the object-oriented XCUITest API to find elements and interact with them Use XCTAssert methods to make verifications View reports in Xcode’s Test Navigator 🛠
  • 16. EarlGrey Add a new iOS unit testing bundle to your iOS project Install the EarlGrey rubygem and add EarlGrey as a CocoaPod dependency Add a new XCTestCase class which imports EarlGrey Use methods chained on the EarlGrey library to find elements, perform actions, and make assertions (just like in Espresso) View reports in Xcode’s Test Navigator 🛠
  • 17. Detox Install detox via npm and applesimutils via homebrew Decorate your React Native project’s package.json with Detox config information (device to run on, xcodebuild instructions for your app, etc…) Add a JS test script that utilizes Detox’s global variables which will be injected by the Detox runner (e.g., device, element) Build the app using detox build and then run your test using detox test, which wraps a JS test runner of your choice, e.g., Mocha 🛠
  • 18. Xamarin.UITest Add a new UITest project to your Visual Studio solution with the appropriate UITest template. This will make sure the NuGet dependencies are set. Associate your mobile projects with the test project Create a C# test class that imports NUnit and Xamarin.UITest Write a [SetUp] decorated method that calls ConfigureApp.<platform>.StartApp() (for the appropriate platform) Use the resulting app object to perform actions on matching predicates 🛠
  • 19. WebDriverAgent Clone the WebDriverAgent repo and run its bootstrap script to use Carthage and download dependencies Open the WebDriverAgent Xcode project and run it, or use xcodebuild to build and run from the command line Watch the output of WebDriverAgent’s logs to determine its port Write a WebDriver-style test using the Selenium or Appium client in your language. Point the RemoteWebDriver to the WDA host/port, and run the test. 🛠
  • 20. 5 years from now (in my dreams)
  • 22. Highly integrated with other apps, locations, experiences Situation-aware, AR Spanning many form factors Phone, watch, TV, goggles, glasses, installations, tables, ? Spanning many platforms React Native leads the way More than stock UI components 3d UIs, VR/AR, IoT The “mobile” app of the future
  • 23. Visual testing Does my app look the way it’s supposed to? (AVM*) Performance testing Is my app experience responsive enough? Security testing Is my app safe for my customers to use? Is it safe for me to let them use it? Location testing Does my app work the same way anywhere in the world? Flow testing What are all the paths through my app? How hard is it for users to get where I want them to go? Beyond functional testing
  • 24. “Shift left” is now a household term Automate the automation - code gen, AI, etc… Tool and framework fatigue The automation trend continues
  • 25. To InfinityDriver & Beyond…
  • 26. An official extension to the WebDriver protocol A set of Node.js base classes and libraries for easily writing drivers Multiple drivers, each one a WebDriver interface on top of the best automation tech of the day for a given platform, plus a helpful collection of other utilities. A stable API on top of a changing set of underlying technologies. A community of practitioners who maintain an ever-expanding knowledge-base for different platforms The Appium of the Future / ✩Driver / ∞Driver
  • 27. The WebDriver protocol is a great start! But is it the end of the line? So many new kinds of testing emerging. Do we create a different protocol for each one? Whatever we do, let’s not compete on standards. Implementations? Yes. Standards? No. …and beyond!
  • 28. Promote WebDriver over other options. Not because it’s necessarily the best, but because it’s a standard. Contribute your wisdom and experience for a particular platform to the community- maintained Appium driver for that platform. Contribute code and help maintain! If we all pitch in a little bit, we all get a lot more in return. This is the standard open source value prop for businesses. Big visions require broad support 1 2 3
  • 29. Thank You Jonathan Lipps • Founding Principal • Cloud Grey 
 @AppiumDevs • @cloudgrey_io • @jlipps
  • 30. Questions? Jonathan Lipps • Founding Principal • Cloud Grey 
 @AppiumDevs • @cloudgrey_io • @jlipps Don’t forget to sign up for Your free weekly Appium newsletter https://appiumpro.com