SlideShare une entreprise Scribd logo
1  sur  151
Télécharger pour lire hors ligne
# obj cgn  12”
         cial tag:        “Obj CGN
    Offi         ac/iPad”:
           ne/M
 i-Fi “iPho
W
EFFECTIVELY USING UIAUTOMATION
           Alexander Repty
WHY AUTOMATE?
WHY AUTOMATE?
WHY AUTOMATE?
WHY AUTOMATE?
WHY AUTOMATE?


   “[…] the three great virtues of a
 programmer: laziness, impatience, and
               hubris.”

Larry Wall, Programming Perl,1991
WHAT ARE AUTOMATED TESTS?
WHAT ARE AUTOMATED TESTS?
WHAT ARE AUTOMATED TESTS?


•   Drive UI without any human interference
WHAT ARE AUTOMATED TESTS?


•   Drive UI without any human interference

•   A little like unit tests for GUI
WHAT ARE AUTOMATED TESTS?


•   Drive UI without any human interference

•   A little like unit tests for GUI

•   Log progress (passes & fails)
WHAT ARE AUTOMATED TESTS?


•   Drive UI without any human interference

•   A little like unit tests for GUI

•   Log progress (passes & fails)

•   Find out quickly when something breaks
WHAT ELSE CAN UI AUTOMATION DO?
WHAT ELSE CAN UI AUTOMATION DO?


•   Automate annoying tasks
WHAT ELSE CAN UI AUTOMATION DO?


•   Automate annoying tasks

•   Demo your product
WHAT ELSE CAN UI AUTOMATION DO?


•   Automate annoying tasks

•   Demo your product

•   Quickly perform tasks multiple times
WHAT ELSE CAN UI AUTOMATION DO?


•   Automate annoying tasks

•   Demo your product

•   Quickly perform tasks multiple times

•   Screenshots and screencasts
WHY USE UIAUTOMATION OVER
   OTHER FRAMEWORKS?
WHY USE UIAUTOMATION OVER
            OTHER FRAMEWORKS?


•   Instantly available for everyone
WHY USE UIAUTOMATION OVER
            OTHER FRAMEWORKS?


•   Instantly available for everyone

•   Easy to set up and use
WHY USE UIAUTOMATION OVER
            OTHER FRAMEWORKS?


•   Instantly available for everyone

•   Easy to set up and use

•   Improves application accessibility
UIAUTOMATION EXAMPLE
UIAUTOMATION EXAMPLE
UIAUTOMATION EXAMPLE


•   Not accessible yet
UIAUTOMATION EXAMPLE


•   Not accessible yet

•   Never used UIAutomation on it
UIAUTOMATION EXAMPLE


•   Not accessible yet

•   Never used UIAutomation on it

•   Let’s see how quickly we can make it work
Effectively Using UI Automation
Effectively Using UI Automation
GENERATED CODE
GENERATED CODE
GENERATED CODE
GENERATED CODE
GENERATED CODE
GENERATED CODE
GENERATED CODE


•   Hard to read
GENERATED CODE


•   Hard to read

•   Harder to edit
GENERATED CODE


•   Hard to read

•   Harder to edit

•   Impossible to maintain on a large scale
GENERATED CODE


•   Hard to read

•   Harder to edit

•   Impossible to maintain on a large scale

•   Solution: Use Accessibility APIs!
IMPLEMENTING ACCESSIBILITY
IMPLEMENTING ACCESSIBILITY
IMPLEMENTING ACCESSIBILITY

•   Enable accessibility
IMPLEMENTING ACCESSIBILITY

•   Enable accessibility

•   Assign an accessibility label
IMPLEMENTING ACCESSIBILITY

•   Enable accessibility

•   Assign an accessibility label

•   Optional: add an accessibility hint
IMPLEMENTING ACCESSIBILITY

•   Enable accessibility

•   Assign an accessibility label

•   Optional: add an accessibility hint

•   Optional: assign accessibility traits
IMPLEMENTING ACCESSIBILITY
IMPLEMENTING ACCESSIBILITY
IMPLEMENTING ACCESSIBILITY
IMPLEMENTING ACCESSIBILITY

     Before:
     […].textFields()[0].tap();
IMPLEMENTING ACCESSIBILITY

     Before:
     […].textFields()[0].tap();

     After:
     […].textFields()["Item Title"].tap();
IMPLEMENTING ACCESSIBILITY
IMPLEMENTING ACCESSIBILITY

   Before:
    […].tapWithOptions({tapOffset:{x:0.25, y:0.33}});
IMPLEMENTING ACCESSIBILITY

   Before:
    […].tapWithOptions({tapOffset:{x:0.25, y:0.33}});


    After:
    […].buttons()["Fruit"].tap();
IMPLEMENTING ACCESSIBILITY
IMPLEMENTING ACCESSIBILITY

    What did I do?
    ! self.isAccessibilityElement = YES;
IMPLEMENTING ACCESSIBILITY

    What did I do?
    ! self.isAccessibilityElement = YES;
    ! self.accessibilityLabel = item.title;
IMPLEMENTING ACCESSIBILITY

    What did I do?
    ! self.isAccessibilityElement = YES;
    ! self.accessibilityLabel = item.title;
    ! self.accessibilityTraits =
          (UIAccessibilityTraitButton);
(SLIGHTLY) BETTER CODE
(SLIGHTLY) BETTER CODE
(SLIGHTLY) BETTER CODE
(SLIGHTLY) BETTER CODE
(SLIGHTLY) BETTER CODE
(SLIGHTLY) BETTER CODE
(SLIGHTLY) BETTER CODE
(SLIGHTLY) BETTER CODE
(SLIGHTLY) BETTER CODE

   UISegmentedControl accessibility sucks.
(SLIGHTLY) BETTER CODE
(SLIGHTLY) BETTER CODE


•   Check your view hierarchy (use logElementTree())
(SLIGHTLY) BETTER CODE


•   Check your view hierarchy (use logElementTree())

•   Find weaknesses and accessibility flaws in your code
(SLIGHTLY) BETTER CODE


•   Check your view hierarchy (use logElementTree())

•   Find weaknesses and accessibility flaws in your code

•   Write tests that last
IMPROVE ACCESSIBILITY
IMPROVE ACCESSIBILITY
IMPROVE ACCESSIBILITY
IMPROVE ACCESSIBILITY
IMPROVE ACCESSIBILITY
IMPROVE ACCESSIBILITY


•   Excellent article by Matt Gemmell

    http://mattgemmell.com/2010/12/19/accessibility-for-iphone-and-ipad-apps/
IMPROVE ACCESSIBILITY


•   Excellent article by Matt Gemmell

    http://mattgemmell.com/2010/12/19/accessibility-for-iphone-and-ipad-apps/

•   Even Apple links to it
IMPROVE ACCESSIBILITY


•   Excellent article by Matt Gemmell

    http://mattgemmell.com/2010/12/19/accessibility-for-iphone-and-ipad-apps/

•   Even Apple links to it

•   Essential for proper automation; two birds with one stone
TESTING YOUR UI
TESTING YOUR UI
TESTING YOUR UI


•   UIALogger (logMessage, logStart, logPass, logFail)
TESTING YOUR UI


•   UIALogger (logMessage, logStart, logPass, logFail)

•   No built-in support for assertions (TuneUp JS)
TESTING YOUR UI


•   UIALogger (logMessage, logStart, logPass, logFail)

•   No built-in support for assertions (TuneUp JS)

•   Works with continuous integration systems (using Instruments CLI
    command)
TESTING YOUR UI
TESTING YOUR UI
TESTING YOUR UI
TESTING YOUR UI
RUNNING MULTIPLE TESTS
RUNNING MULTIPLE TESTS
RUNNING MULTIPLE TESTS


•   Run three separate tests
RUNNING MULTIPLE TESTS


•   Run three separate tests

    •   Add & delete Spaghetti
RUNNING MULTIPLE TESTS


•   Run three separate tests

    •   Add & delete Spaghetti

    •   Go to yesterday, add and delete a Steak
RUNNING MULTIPLE TESTS


•   Run three separate tests

    •   Add & delete Spaghetti

    •   Go to yesterday, add and delete a Steak

    •   Add an item, tweet it and delete it
Effectively Using UI Automation
MORE THINGS YOU CAN DO
MORE THINGS YOU CAN DO
MORE THINGS YOU CAN DO

•   Handle unexpected & expected alerts
MORE THINGS YOU CAN DO

•   Handle unexpected & expected alerts

•   Multitasking (deactivate app for any given duration)
MORE THINGS YOU CAN DO

•   Handle unexpected & expected alerts

•   Multitasking (deactivate app for any given duration)

•   Orientation changes
MORE THINGS YOU CAN DO

•   Handle unexpected & expected alerts

•   Multitasking (deactivate app for any given duration)

•   Orientation changes

•   Set location
MORE THINGS YOU CAN DO

•   Handle unexpected & expected alerts

•   Multitasking (deactivate app for any given duration)

•   Orientation changes

•   Set location

•   Gestures
MORE THINGS YOU CAN DO
MORE THINGS YOU CAN DO

•   Take screen shots
MORE THINGS YOU CAN DO

•   Take screen shots

    •   Automate screen shots for the App Store
MORE THINGS YOU CAN DO

•   Take screen shots

    •   Automate screen shots for the App Store

    •   Even in multiple languages!
MORE THINGS YOU CAN DO

•   Take screen shots

    •   Automate screen shots for the App Store

    •   Even in multiple languages!

•   Easily reproducible screen casts (with perfect timing)
MORE THINGS YOU CAN DO

•   Take screen shots

    •   Automate screen shots for the App Store

    •   Even in multiple languages!

•   Easily reproducible screen casts (with perfect timing)

•   Document your test runs
MORE THINGS YOU CAN DO
MORE THINGS YOU CAN DO
MORE THINGS YOU CAN DO
MORE THINGS YOU CAN DO
MORE THINGS YOU CAN DO
WHAT’S NOT SO GOOD ABOUT
     UIAUTOMATION?
WHAT’S NOT SO GOOD ABOUT
              UIAUTOMATION?

•   No way to set up or reset state (may have to exit on fail)
WHAT’S NOT SO GOOD ABOUT
              UIAUTOMATION?

•   No way to set up or reset state (may have to exit on fail)

•   Only runs via Instruments
WHAT’S NOT SO GOOD ABOUT
              UIAUTOMATION?

•   No way to set up or reset state (may have to exit on fail)

•   Only runs via Instruments

•   Might need arcane shell scrips to integrate into CI tools
WHAT’S NOT SO GOOD ABOUT
              UIAUTOMATION?

•   No way to set up or reset state (may have to exit on fail)

•   Only runs via Instruments

•   Might need arcane shell scrips to integrate into CI tools

•   No built-in method for mock objects
WHAT’S NOT SO GOOD ABOUT
              UIAUTOMATION?

•   No way to set up or reset state (may have to exit on fail)

•   Only runs via Instruments

•   Might need arcane shell scrips to integrate into CI tools

•   No built-in method for mock objects

•   Very young, still maturing
WHAT ELSE IS THERE?
WHAT ELSE IS THERE?

Product        Good           Bad            Ugly
             Languages
 Squish                    Commercial       Eclipse
             Platforms

  KIF        Objective-C   Private API      Setup

               Natural
Calabash                     Setup       Client/Server
              Language
WHAT ELSE IS THERE?

Product        Good           Bad            Ugly
             Languages
 Squish                    Commercial       Eclipse
             Platforms

  KIF        Objective-C   Private API      Setup

               Natural
Calabash                     Setup       Client/Server
              Language
WHAT ELSE IS THERE?

Product        Good           Bad            Ugly
             Languages
 Squish                    Commercial       Eclipse
             Platforms

  KIF        Objective-C   Private API      Setup

               Natural
Calabash                     Setup       Client/Server
              Language
WHAT ELSE IS THERE?

Product        Good           Bad            Ugly
             Languages
 Squish                    Commercial       Eclipse
             Platforms

  KIF        Objective-C   Private API      Setup

               Natural
Calabash                     Setup       Client/Server
              Language
WHAT ELSE IS THERE?

Product        Good           Bad            Ugly
             Languages
 Squish                    Commercial       Eclipse
             Platforms

  KIF        Objective-C   Private API      Setup

               Natural
Calabash                     Setup       Client/Server
              Language
WHAT ELSE IS THERE?

Product        Good           Bad            Ugly
             Languages
 Squish                    Commercial       Eclipse
             Platforms

  KIF        Objective-C   Private API      Setup

               Natural
Calabash                     Setup       Client/Server
              Language
WHAT ELSE IS THERE?

Product        Good           Bad            Ugly
             Languages
 Squish                    Commercial       Eclipse
             Platforms

  KIF        Objective-C   Private API      Setup

               Natural
Calabash                     Setup       Client/Server
              Language
WHAT ELSE IS THERE?

Product        Good           Bad            Ugly
             Languages
 Squish                    Commercial       Eclipse
             Platforms

  KIF        Objective-C   Private API      Setup

               Natural
Calabash                     Setup       Client/Server
              Language
WHAT ELSE IS THERE?

Product        Good           Bad            Ugly
             Languages
 Squish                    Commercial       Eclipse
             Platforms

  KIF        Objective-C   Private API      Setup

               Natural
Calabash                     Setup       Client/Server
              Language
WHAT ELSE IS THERE?

Product        Good           Bad            Ugly
             Languages
 Squish                    Commercial       Eclipse
             Platforms

  KIF        Objective-C   Private API      Setup

               Natural
Calabash                     Setup       Client/Server
              Language
WHAT ELSE IS THERE?

Product        Good           Bad            Ugly
             Languages
 Squish                    Commercial       Eclipse
             Platforms

  KIF        Objective-C   Private API      Setup

               Natural
Calabash                     Setup       Client/Server
              Language
WHAT ELSE IS THERE?

Product        Good           Bad            Ugly
             Languages
 Squish                    Commercial       Eclipse
             Platforms

  KIF        Objective-C   Private API      Setup

               Natural
Calabash                     Setup       Client/Server
              Language
WHAT ELSE IS THERE?

Product        Good           Bad            Ugly
             Languages
 Squish                    Commercial       Eclipse
             Platforms

  KIF        Objective-C   Private API      Setup

               Natural
Calabash                     Setup       Client/Server
              Language
SUMMARY
SUMMARY
SUMMARY


•   Automated testing is awesome
SUMMARY


•   Automated testing is awesome

•   Better with accessibility support
SUMMARY


•   Automated testing is awesome

•   Better with accessibility support

•   Build cases to test your application’s features
SUMMARY


•   Automated testing is awesome

•   Better with accessibility support

•   Build cases to test your application’s features

•   Automate repetitive tasks
SUMMARY
SUMMARY


Spend less time testing,
more time doing
important stuff
SUMMARY


Spend less time testing,
more time doing
important stuff
FURTHER READING
FURTHER READING
•   Jonathan Penn

    •   http://cocoamanifest.net/

    •   “jonathanpenn” on Twitter and Github

•   Alex Vollmer

    •   http://alexvollmer.com

    •   “alexvollmer” on Twitter and Github
FURTHER READING
FURTHER READING
•   Shaun Ervine - Automated Acceptance Tests with UIAutomation, Jasmine &
    Jenkins

    •   http://shaune.com.au/automated-ui-testing-for-ios-apps-uiautomation-
        jasmine-jenkins/
FURTHER READING
•   Shaun Ervine - Automated Acceptance Tests with UIAutomation, Jasmine &
    Jenkins

    •   http://shaune.com.au/automated-ui-testing-for-ios-apps-uiautomation-
        jasmine-jenkins/

•   Philipp Haussleiter - Using UIAutomation for Multilanguage iOS Applications

    http://www.innoq.com/blog/phaus/2011/01/using_uiautomation_for_multila.html
FURTHER READING
•   Shaun Ervine - Automated Acceptance Tests with UIAutomation, Jasmine &
    Jenkins

    •   http://shaune.com.au/automated-ui-testing-for-ios-apps-uiautomation-
        jasmine-jenkins/

•   Philipp Haussleiter - Using UIAutomation for Multilanguage iOS Applications

    http://www.innoq.com/blog/phaus/2011/01/using_uiautomation_for_multila.html

•   Apple

    •   UI Automation Reference Library & WWDC Session Videos
THANK YOU!

 I’d love to hear from you.
alexander.repty@mac.com
           @arepty
PHOTO CREDITS
PHOTO CREDITS

•   “Lazy Dog” by Hector Garcia (http://www.flickr.com/photos/torek/2467519466/)

•   “There Isn’t An App For That” by Martha Soukup (http://www.flickr.com/photos/
    soukup/5157648804/)

•   “Titanic” by Javier Carcamo (http://www.flickr.com/photos/javic/7081573725/)

•   “Tesla Motors Assembly Line” by Steve Jurvetson (http://www.flickr.com/photos/
    jurvetson/6858583426/)
# obj cgn  12”
         cial tag:        “Obj CGN
    Offi         ac/iPad”:
           ne/M
 i-Fi “iPho
W




                                    This must be
                                    the last page.

Contenu connexe

En vedette

UI Test Automation Effectiveness
UI Test Automation EffectivenessUI Test Automation Effectiveness
UI Test Automation EffectivenessSQALab
 
Coded UI - Test automation Practices from the Field
Coded UI - Test automation Practices from the FieldCoded UI - Test automation Practices from the Field
Coded UI - Test automation Practices from the FieldClemens Reijnen
 
UI Automation Quirks
UI Automation QuirksUI Automation Quirks
UI Automation QuirksLucas Pang
 
Challenges faced in UI automation
Challenges faced in UI automationChallenges faced in UI automation
Challenges faced in UI automationSrinivas Kantipudi
 
Introduction to UI Automation Framework
Introduction to UI Automation FrameworkIntroduction to UI Automation Framework
Introduction to UI Automation FrameworkPriya Rajagopal
 
UI test automation techniques by an example of JavaFX UI
UI test automation techniques by an example of JavaFX UIUI test automation techniques by an example of JavaFX UI
UI test automation techniques by an example of JavaFX UIyaevents
 
Web UI test automation instruments
Web UI test automation instrumentsWeb UI test automation instruments
Web UI test automation instrumentsArtem Nagornyi
 
UI Test Automation - Maximizing ROI by Minimizing Maintenance Costs
UI Test Automation - Maximizing ROI by Minimizing Maintenance CostsUI Test Automation - Maximizing ROI by Minimizing Maintenance Costs
UI Test Automation - Maximizing ROI by Minimizing Maintenance Costs🐾 Jim Sibley 🐾
 
Behavior Driven UI Automation (Agile Testing Days 2017, Potsdam)
Behavior Driven UI Automation (Agile Testing Days 2017, Potsdam)Behavior Driven UI Automation (Agile Testing Days 2017, Potsdam)
Behavior Driven UI Automation (Agile Testing Days 2017, Potsdam)Gáspár Nagy
 

En vedette (9)

UI Test Automation Effectiveness
UI Test Automation EffectivenessUI Test Automation Effectiveness
UI Test Automation Effectiveness
 
Coded UI - Test automation Practices from the Field
Coded UI - Test automation Practices from the FieldCoded UI - Test automation Practices from the Field
Coded UI - Test automation Practices from the Field
 
UI Automation Quirks
UI Automation QuirksUI Automation Quirks
UI Automation Quirks
 
Challenges faced in UI automation
Challenges faced in UI automationChallenges faced in UI automation
Challenges faced in UI automation
 
Introduction to UI Automation Framework
Introduction to UI Automation FrameworkIntroduction to UI Automation Framework
Introduction to UI Automation Framework
 
UI test automation techniques by an example of JavaFX UI
UI test automation techniques by an example of JavaFX UIUI test automation techniques by an example of JavaFX UI
UI test automation techniques by an example of JavaFX UI
 
Web UI test automation instruments
Web UI test automation instrumentsWeb UI test automation instruments
Web UI test automation instruments
 
UI Test Automation - Maximizing ROI by Minimizing Maintenance Costs
UI Test Automation - Maximizing ROI by Minimizing Maintenance CostsUI Test Automation - Maximizing ROI by Minimizing Maintenance Costs
UI Test Automation - Maximizing ROI by Minimizing Maintenance Costs
 
Behavior Driven UI Automation (Agile Testing Days 2017, Potsdam)
Behavior Driven UI Automation (Agile Testing Days 2017, Potsdam)Behavior Driven UI Automation (Agile Testing Days 2017, Potsdam)
Behavior Driven UI Automation (Agile Testing Days 2017, Potsdam)
 

Similaire à Effectively Using UI Automation

Automated Exploratory Testing
Automated Exploratory TestingAutomated Exploratory Testing
Automated Exploratory TestingJustin Ison
 
Justin Ison
Justin IsonJustin Ison
Justin IsonCodeFest
 
Android java fx-jme@jug-lugano
Android java fx-jme@jug-luganoAndroid java fx-jme@jug-lugano
Android java fx-jme@jug-luganoFabrizio Giudici
 
Beyond TDD: Enabling Your Team to Continuously Deliver Software
Beyond TDD: Enabling Your Team to Continuously Deliver SoftwareBeyond TDD: Enabling Your Team to Continuously Deliver Software
Beyond TDD: Enabling Your Team to Continuously Deliver SoftwareChris Weldon
 
Browser Automated Testing Frameworks - Nightwatch.js
Browser Automated Testing Frameworks - Nightwatch.jsBrowser Automated Testing Frameworks - Nightwatch.js
Browser Automated Testing Frameworks - Nightwatch.jsLuís Bastião Silva
 
Fashionable XCUITest for iOS Apps by Shashikant Jagtap
Fashionable XCUITest for iOS Apps by Shashikant JagtapFashionable XCUITest for iOS Apps by Shashikant Jagtap
Fashionable XCUITest for iOS Apps by Shashikant JagtapSauce Labs
 
Selenium Camp 2016 - Kiev, Ukraine
Selenium Camp 2016 -  Kiev, UkraineSelenium Camp 2016 -  Kiev, Ukraine
Selenium Camp 2016 - Kiev, UkraineJustin Ison
 
A11Y Camp - Lessons learnt from building accessible native mobile apps
A11Y Camp - Lessons learnt from building accessible native mobile appsA11Y Camp - Lessons learnt from building accessible native mobile apps
A11Y Camp - Lessons learnt from building accessible native mobile appsAshton Williams
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev opsAgile Montréal
 
Battle for Code Quality - A Story of One Java Project
Battle for Code Quality - A Story of One Java ProjectBattle for Code Quality - A Story of One Java Project
Battle for Code Quality - A Story of One Java ProjectGlobalLogic Ukraine
 
Use Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test AutomationUse Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test AutomationClever Moe
 
When & How to Successfully use Test Automation for Mobile Applications
When & How to Successfully use Test Automation for Mobile ApplicationsWhen & How to Successfully use Test Automation for Mobile Applications
When & How to Successfully use Test Automation for Mobile ApplicationsTechnologyAssociationOregon
 
SauceCon19: Fashionable XCUITest for iOS App
SauceCon19: Fashionable XCUITest for iOS App SauceCon19: Fashionable XCUITest for iOS App
SauceCon19: Fashionable XCUITest for iOS App Shashikant Jagtap
 
Don't fear our new robot overlords – A new way to test on mobile
Don't fear our new robot overlords – A new way to test on mobileDon't fear our new robot overlords – A new way to test on mobile
Don't fear our new robot overlords – A new way to test on mobilePhilip Brechler
 
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...DevConFu
 
Graceful Failure with Selenium and Continuous Integration
Graceful Failure with Selenium and Continuous IntegrationGraceful Failure with Selenium and Continuous Integration
Graceful Failure with Selenium and Continuous IntegrationChris B. France
 
Reliable mobile test automation
Reliable mobile test automationReliable mobile test automation
Reliable mobile test automationVishal Banthia
 
Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...
Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...
Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...seleniumconf
 
Colorful world-of-visual-automation-testing-latest
Colorful world-of-visual-automation-testing-latestColorful world-of-visual-automation-testing-latest
Colorful world-of-visual-automation-testing-latestOnur Baskirt
 

Similaire à Effectively Using UI Automation (20)

Automated Exploratory Testing
Automated Exploratory TestingAutomated Exploratory Testing
Automated Exploratory Testing
 
Justin Ison
Justin IsonJustin Ison
Justin Ison
 
talk
talktalk
talk
 
Android java fx-jme@jug-lugano
Android java fx-jme@jug-luganoAndroid java fx-jme@jug-lugano
Android java fx-jme@jug-lugano
 
Beyond TDD: Enabling Your Team to Continuously Deliver Software
Beyond TDD: Enabling Your Team to Continuously Deliver SoftwareBeyond TDD: Enabling Your Team to Continuously Deliver Software
Beyond TDD: Enabling Your Team to Continuously Deliver Software
 
Browser Automated Testing Frameworks - Nightwatch.js
Browser Automated Testing Frameworks - Nightwatch.jsBrowser Automated Testing Frameworks - Nightwatch.js
Browser Automated Testing Frameworks - Nightwatch.js
 
Fashionable XCUITest for iOS Apps by Shashikant Jagtap
Fashionable XCUITest for iOS Apps by Shashikant JagtapFashionable XCUITest for iOS Apps by Shashikant Jagtap
Fashionable XCUITest for iOS Apps by Shashikant Jagtap
 
Selenium Camp 2016 - Kiev, Ukraine
Selenium Camp 2016 -  Kiev, UkraineSelenium Camp 2016 -  Kiev, Ukraine
Selenium Camp 2016 - Kiev, Ukraine
 
A11Y Camp - Lessons learnt from building accessible native mobile apps
A11Y Camp - Lessons learnt from building accessible native mobile appsA11Y Camp - Lessons learnt from building accessible native mobile apps
A11Y Camp - Lessons learnt from building accessible native mobile apps
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev ops
 
Battle for Code Quality - A Story of One Java Project
Battle for Code Quality - A Story of One Java ProjectBattle for Code Quality - A Story of One Java Project
Battle for Code Quality - A Story of One Java Project
 
Use Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test AutomationUse Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test Automation
 
When & How to Successfully use Test Automation for Mobile Applications
When & How to Successfully use Test Automation for Mobile ApplicationsWhen & How to Successfully use Test Automation for Mobile Applications
When & How to Successfully use Test Automation for Mobile Applications
 
SauceCon19: Fashionable XCUITest for iOS App
SauceCon19: Fashionable XCUITest for iOS App SauceCon19: Fashionable XCUITest for iOS App
SauceCon19: Fashionable XCUITest for iOS App
 
Don't fear our new robot overlords – A new way to test on mobile
Don't fear our new robot overlords – A new way to test on mobileDon't fear our new robot overlords – A new way to test on mobile
Don't fear our new robot overlords – A new way to test on mobile
 
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
Wilko Nienhaus - continuous delivery release the right thing, done right, at ...
 
Graceful Failure with Selenium and Continuous Integration
Graceful Failure with Selenium and Continuous IntegrationGraceful Failure with Selenium and Continuous Integration
Graceful Failure with Selenium and Continuous Integration
 
Reliable mobile test automation
Reliable mobile test automationReliable mobile test automation
Reliable mobile test automation
 
Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...
Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...
Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...
 
Colorful world-of-visual-automation-testing-latest
Colorful world-of-visual-automation-testing-latestColorful world-of-visual-automation-testing-latest
Colorful world-of-visual-automation-testing-latest
 

Dernier

Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 

Dernier (20)

Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 

Effectively Using UI Automation

Notes de l'éditeur

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. \n
  91. \n
  92. \n
  93. \n
  94. \n
  95. \n
  96. \n
  97. \n
  98. \n
  99. \n
  100. \n
  101. \n
  102. \n
  103. \n
  104. \n
  105. \n
  106. \n
  107. \n
  108. \n
  109. \n
  110. \n
  111. \n
  112. \n
  113. \n
  114. \n
  115. \n
  116. \n
  117. \n
  118. \n
  119. \n
  120. \n
  121. \n
  122. \n
  123. \n
  124. \n
  125. \n
  126. \n
  127. \n
  128. \n
  129. \n
  130. \n
  131. \n
  132. \n
  133. \n
  134. \n
  135. \n
  136. \n
  137. \n
  138. \n
  139. \n
  140. \n
  141. \n
  142. \n
  143. \n
  144. \n
  145. \n
  146. \n
  147. \n
  148. \n
  149. \n
  150. \n
  151. \n
  152. \n
  153. \n
  154. \n
  155. \n
  156. \n
  157. \n
  158. \n
  159. \n
  160. \n