SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
UI  Automation  :  A  
Primer	
Cocoaheads, Ann Arbor
October, 2013
About  Myself…	
	
Principal  Software  Developer  @  Barracuda  Networks	
Freelance  App  Developer  &  Consultant  
www.priyaontech.com	
www.lunariasoftware.com	
	
TwiIer:@rajagp	
www.priyaontech.com 2
Test  Categories	
•  Unit Testing
o  Testing from developer’s perspective.
o  Testing that a particular function is right
o  Rest of system mocked up
•  Functional Testing
o  Testing from user’s perspective.
o  Testing that system behaves right
	
Today  we  talk  about    Functional  Testing	
	
www.priyaontech.com 3
Functional  Testing  -­‐‑  
Manual	
•  Pros
o  Non programmer can do it
o  No special hardware/software required
o  Some aspects have to be manually tested – eg. the actual
rendering, user experience
•  Cons
o  Time consuming (regression, large data sets and use cases)
o  Lack of Reproducibility/ traceability (“Not sure what I did
exactly to cause the app to crash..”)
www.priyaontech.com 4
Functional  Testing  -­‐‑  
Automated	
•  Pros
o  Saves time , effort
•  Will offset the initial cost of writing the test scripts
o  Consistency / Repeatable / Traceable
o  Regression
o  Large numbers of test data sets
o  Continuous Integration
•  Cons
o  Need some programming skills
www.priyaontech.com 5
Options	
www.priyaontech.com 6
Tool	
 Platform	
 Scripting  Language	
 Technical  Details	
Calabash	
 iOS/Andoird  
(Device  &  
Simulator)	
BDD.  Feature  
descriptions  wriIen  in  
Gherkin.  Test  steps  in  
Ruby.	
Uses  Cucumber  for  driving  
tests.  A  HTTP  bounjour  server  
runs  in  your  app  and  accepts  
commands  from  test  driver  
(HTTP/JSON).  Open  Source.	
Uses  Private  APIs	
Frank	
 iOS  (Device  &  
Simulator)	
	
BDD.  Feature  
descriptions  wriIen  in  
Gherkin.  Test  steps  in  
Ruby.	
	
Uses  Cucumber  for  driving  
tests.  A  HTTP  Frank  server  
runs  in  your  app  and  accepts  
commands  from  test  driver  
over  “Franky”  protocol  (HTTP/
JSON).  Open  Source	
Uses  Private  APIs	
	
KIF	
 iOS  
(  Simulator/
device)	
Objective-­‐‑C	
 Framework  integrated  into  
app.  No  HTTP  server  or  
external  driver.  Open  Source.  
Options	
www.priyaontech.com 7
Tool	
 Platform	
 Scripting  Language	
 Technical  Details	
Fone  
Monkey/  
Monkey  
Talk	
iOS/Andoird  
(Device  &  
Simulator)  &  
Web  Apps	
JS,  Obj-­‐‑C,  monkeyTalk  
scripts	
Record  actions  using  
MonkeyTalk  console,  save/edit  
script  &  playback.  Open  
Source  .  Premium  Support  will  
cost  $$$	
We’ll  discuss  UIAutomations  today
UI  Automation	
•  Automated functional test framework
from Apple
•  UI interactions with app driven using
test scripts
•  Test scripts written in Javascript
•  Test scripts executed using
“Automation” instrument
•  Actively developed & maintained
(well….maybe)
www.priyaontech.com 8
UI  Automation	
•  Good user interaction coverage
•  Can work with no/minimal app
changes (recommend UIAccessibility)
•  Works on simulators and devices
•  Only on apps that are signed with
development profile
•  Simplicity
www.priyaontech.com 9
UI  Accessibility	
•  Informal Protocol
•  Interface to assist people with disabilities
•  Uniquely identify every element in the view
hierarchy
•  Every UIKit element can be specified to be
accessible, using "label" attribute
•  Recommended to use w/ UI Automations
o  In order to interact with an element, you need to identify it
•  Identifying element by position makes script fragile
www.priyaontech.com 10
UI  Accessibility  Rules	
•  Individual View
o  Enable Accessibility
o  Set Accessibility Label on the view
•  Container View
o  Disable Accessibility on container view
o  Enable Accessibility on every contained view
that you want accessible
o  Specify Labels for container and contained views
www.priyaontech.com 11
UI  Element  Hierarchy	
www.priyaontech.com 12
Target	
Application	
Window	
View	
 View	
UIATarget.localTarget()	
.frontMostApp()	
.mainWindow()	
[UIAElement].logElementTree()
Tuneup.js	
•  A set of Javascript utilities to facilitate writing
of UIAutomation scripts
•  Lot of convenience Wrapper functions to
handle repetitive tasks(isDeviceiPad,
isDeviceiPhone ,assertLeftButtonNamed …)
•  Enforce a structure to your test scripts –
Invoke “test” function
•  Alex Vollmer, http://www.tuneupjs.org
www.priyaontech.com 13
Demo  
	
Get  it  at  :    hIp://priyaontech.com/ndownloads	
www.priyaontech.com 14
Thank  you!  
  
Further  Reading  :  Test  iOS  Apps  with  UI  Automation  
Bug  Hunting  Made  Easy  
By  Jonathan  Penn 	
  
	
www.priyaontech.com
@rajagp
www.priyaontech.com 15

Contenu connexe

Tendances

XCUITest Introduction: Test Automation University
XCUITest Introduction: Test Automation University XCUITest Introduction: Test Automation University
XCUITest Introduction: Test Automation University Shashikant Jagtap
 
Choosing the Best Open Source Test Automation Tool for You
Choosing the Best Open Source Test Automation Tool for YouChoosing the Best Open Source Test Automation Tool for You
Choosing the Best Open Source Test Automation Tool for YouPerfecto by Perforce
 
Test Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & ToolsTest Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & ToolsAmit Rawat
 
RPA Summer School Session 2.1: Run your first UI automation
RPA Summer School Session 2.1: Run your first UI automationRPA Summer School Session 2.1: Run your first UI automation
RPA Summer School Session 2.1: Run your first UI automationCristina Vidu
 
Test Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh DahalTest Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh DahalQA or the Highway
 
Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016Dan Cuellar
 
Selenium Camp 2016 - Kiev, Ukraine
Selenium Camp 2016 -  Kiev, UkraineSelenium Camp 2016 -  Kiev, Ukraine
Selenium Camp 2016 - Kiev, UkraineJustin Ison
 
Selenium conference, 2016
Selenium conference, 2016Selenium conference, 2016
Selenium conference, 2016Pooja Shah
 
NSTC2019: Choosing CI Friendly Mobile Automation Framework
NSTC2019: Choosing CI Friendly Mobile Automation Framework NSTC2019: Choosing CI Friendly Mobile Automation Framework
NSTC2019: Choosing CI Friendly Mobile Automation Framework Shashikant Jagtap
 
Espresso testing
Espresso testingEspresso testing
Espresso testingvodqancr
 
Advance appium workshop.pptx
Advance appium workshop.pptxAdvance appium workshop.pptx
Advance appium workshop.pptxVodqaBLR
 
Jbossworld Presentation
Jbossworld PresentationJbossworld Presentation
Jbossworld PresentationDan Hinojosa
 
Test Automation failure analysis
Test Automation failure analysisTest Automation failure analysis
Test Automation failure analysisPrashant Chaudhary
 
Tests supporting multiple mobile platforms
Tests supporting multiple mobile platformsTests supporting multiple mobile platforms
Tests supporting multiple mobile platformsvodqancr
 
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...Applitools
 
ISTQB Foundation and Selenium Java Automation Testing
ISTQB Foundation and Selenium Java Automation TestingISTQB Foundation and Selenium Java Automation Testing
ISTQB Foundation and Selenium Java Automation TestingHiraQureshi22
 

Tendances (20)

XCUITest Introduction: Test Automation University
XCUITest Introduction: Test Automation University XCUITest Introduction: Test Automation University
XCUITest Introduction: Test Automation University
 
Choosing the Best Open Source Test Automation Tool for You
Choosing the Best Open Source Test Automation Tool for YouChoosing the Best Open Source Test Automation Tool for You
Choosing the Best Open Source Test Automation Tool for You
 
Test Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & ToolsTest Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & Tools
 
10 Benefits of Automated Testing
10 Benefits of Automated Testing10 Benefits of Automated Testing
10 Benefits of Automated Testing
 
RPA Summer School Session 2.1: Run your first UI automation
RPA Summer School Session 2.1: Run your first UI automationRPA Summer School Session 2.1: Run your first UI automation
RPA Summer School Session 2.1: Run your first UI automation
 
Test Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh DahalTest Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh Dahal
 
Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016
 
Selenium Camp 2016 - Kiev, Ukraine
Selenium Camp 2016 -  Kiev, UkraineSelenium Camp 2016 -  Kiev, Ukraine
Selenium Camp 2016 - Kiev, Ukraine
 
Advanced Appium
Advanced AppiumAdvanced Appium
Advanced Appium
 
Selenium conference, 2016
Selenium conference, 2016Selenium conference, 2016
Selenium conference, 2016
 
Lean Quality & Engineering
Lean Quality & EngineeringLean Quality & Engineering
Lean Quality & Engineering
 
NSTC2019: Choosing CI Friendly Mobile Automation Framework
NSTC2019: Choosing CI Friendly Mobile Automation Framework NSTC2019: Choosing CI Friendly Mobile Automation Framework
NSTC2019: Choosing CI Friendly Mobile Automation Framework
 
Espresso testing
Espresso testingEspresso testing
Espresso testing
 
Advance appium workshop.pptx
Advance appium workshop.pptxAdvance appium workshop.pptx
Advance appium workshop.pptx
 
Jbossworld Presentation
Jbossworld PresentationJbossworld Presentation
Jbossworld Presentation
 
Test Automation Ground Up
Test Automation Ground UpTest Automation Ground Up
Test Automation Ground Up
 
Test Automation failure analysis
Test Automation failure analysisTest Automation failure analysis
Test Automation failure analysis
 
Tests supporting multiple mobile platforms
Tests supporting multiple mobile platformsTests supporting multiple mobile platforms
Tests supporting multiple mobile platforms
 
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
 
ISTQB Foundation and Selenium Java Automation Testing
ISTQB Foundation and Selenium Java Automation TestingISTQB Foundation and Selenium Java Automation Testing
ISTQB Foundation and Selenium Java Automation Testing
 

En vedette

UI Test Automation Effectiveness
UI Test Automation EffectivenessUI Test Automation Effectiveness
UI Test Automation EffectivenessSQALab
 
UI Automation Quirks
UI Automation QuirksUI Automation Quirks
UI Automation QuirksLucas Pang
 
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
 
Web UI test automation instruments
Web UI test automation instrumentsWeb UI test automation instruments
Web UI test automation instrumentsArtem Nagornyi
 
Effectively Using UI Automation
Effectively Using UI AutomationEffectively Using UI Automation
Effectively Using UI AutomationAlexander Repty
 
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
 
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 (7)

UI Test Automation Effectiveness
UI Test Automation EffectivenessUI Test Automation Effectiveness
UI Test Automation Effectiveness
 
UI Automation Quirks
UI Automation QuirksUI Automation Quirks
UI Automation Quirks
 
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
 
Web UI test automation instruments
Web UI test automation instrumentsWeb UI test automation instruments
Web UI test automation instruments
 
Effectively Using UI Automation
Effectively Using UI AutomationEffectively Using UI Automation
Effectively Using UI Automation
 
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
 
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 à Introduction to UI Automation Framework

Automated Exploratory Testing
Automated Exploratory TestingAutomated Exploratory Testing
Automated Exploratory TestingJustin Ison
 
Justin Ison
Justin IsonJustin Ison
Justin IsonCodeFest
 
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
 
Mobile Automation Meetup Presentation [English]
Mobile Automation Meetup Presentation [English]Mobile Automation Meetup Presentation [English]
Mobile Automation Meetup Presentation [English]Maria Carcar
 
A Modern Dive into QA Automation and Beyond
A Modern Dive into QA Automation and BeyondA Modern Dive into QA Automation and Beyond
A Modern Dive into QA Automation and BeyondPratik Patel
 
Matt Eakin - The New Tester Skillset
Matt Eakin - The New Tester SkillsetMatt Eakin - The New Tester Skillset
Matt Eakin - The New Tester SkillsetQA or the Highway
 
2012 mobile testingsummit-moet
2012 mobile testingsummit-moet2012 mobile testingsummit-moet
2012 mobile testingsummit-moetEing Ong
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools OverviewMurageppa-QA
 
Phonegap Development & Debugging
Phonegap Development & DebuggingPhonegap Development & Debugging
Phonegap Development & DebuggingIvano Malavolta
 
Appium Native Application Crawler
Appium Native Application CrawlerAppium Native Application Crawler
Appium Native Application CrawlerJustin Ison
 
Thomas Haver - Mobile Testing.pdf
Thomas Haver - Mobile Testing.pdfThomas Haver - Mobile Testing.pdf
Thomas Haver - Mobile Testing.pdfQA or the Highway
 
2012 java one-con3648
2012 java one-con36482012 java one-con3648
2012 java one-con3648Eing Ong
 
Stop guessing, start testing – mobile testing done right - Timo Euteneuer
Stop guessing, start testing – mobile testing done right - Timo EuteneuerStop guessing, start testing – mobile testing done right - Timo Euteneuer
Stop guessing, start testing – mobile testing done right - Timo EuteneuerJAXLondon_Conference
 
Reliable mobile test automation
Reliable mobile test automationReliable mobile test automation
Reliable mobile test automationVishal Banthia
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application TestingSun Technlogies
 
Mobile Application Testing
Mobile Application Testing Mobile Application Testing
Mobile Application Testing Shivaraj R
 
Good practices for debugging Selenium and Appium tests
Good practices for debugging Selenium and Appium testsGood practices for debugging Selenium and Appium tests
Good practices for debugging Selenium and Appium testsAbhijeet Vaikar
 
How to Master Mobile Automation in QA
How to Master Mobile Automation in QAHow to Master Mobile Automation in QA
How to Master Mobile Automation in QAOxagile
 
Testing Android Application, Droidcon Torino
Testing Android Application, Droidcon TorinoTesting Android Application, Droidcon Torino
Testing Android Application, Droidcon TorinoPietro Alberto Rossi
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1tactqa
 

Similaire à Introduction to UI Automation Framework (20)

Automated Exploratory Testing
Automated Exploratory TestingAutomated Exploratory Testing
Automated Exploratory Testing
 
Justin Ison
Justin IsonJustin Ison
Justin Ison
 
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)
 
Mobile Automation Meetup Presentation [English]
Mobile Automation Meetup Presentation [English]Mobile Automation Meetup Presentation [English]
Mobile Automation Meetup Presentation [English]
 
A Modern Dive into QA Automation and Beyond
A Modern Dive into QA Automation and BeyondA Modern Dive into QA Automation and Beyond
A Modern Dive into QA Automation and Beyond
 
Matt Eakin - The New Tester Skillset
Matt Eakin - The New Tester SkillsetMatt Eakin - The New Tester Skillset
Matt Eakin - The New Tester Skillset
 
2012 mobile testingsummit-moet
2012 mobile testingsummit-moet2012 mobile testingsummit-moet
2012 mobile testingsummit-moet
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools Overview
 
Phonegap Development & Debugging
Phonegap Development & DebuggingPhonegap Development & Debugging
Phonegap Development & Debugging
 
Appium Native Application Crawler
Appium Native Application CrawlerAppium Native Application Crawler
Appium Native Application Crawler
 
Thomas Haver - Mobile Testing.pdf
Thomas Haver - Mobile Testing.pdfThomas Haver - Mobile Testing.pdf
Thomas Haver - Mobile Testing.pdf
 
2012 java one-con3648
2012 java one-con36482012 java one-con3648
2012 java one-con3648
 
Stop guessing, start testing – mobile testing done right - Timo Euteneuer
Stop guessing, start testing – mobile testing done right - Timo EuteneuerStop guessing, start testing – mobile testing done right - Timo Euteneuer
Stop guessing, start testing – mobile testing done right - Timo Euteneuer
 
Reliable mobile test automation
Reliable mobile test automationReliable mobile test automation
Reliable mobile test automation
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 
Mobile Application Testing
Mobile Application Testing Mobile Application Testing
Mobile Application Testing
 
Good practices for debugging Selenium and Appium tests
Good practices for debugging Selenium and Appium testsGood practices for debugging Selenium and Appium tests
Good practices for debugging Selenium and Appium tests
 
How to Master Mobile Automation in QA
How to Master Mobile Automation in QAHow to Master Mobile Automation in QA
How to Master Mobile Automation in QA
 
Testing Android Application, Droidcon Torino
Testing Android Application, Droidcon TorinoTesting Android Application, Droidcon Torino
Testing Android Application, Droidcon Torino
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1
 

Dernier

FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCRFULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCRnishacall1
 
9892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x79892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x7Pooja Nehwal
 
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort ServiceDelhi Call girls
 
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceanilsa9823
 
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost LoverPowerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost LoverPsychicRuben LoveSpells
 
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceanilsa9823
 
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Pooja Nehwal
 

Dernier (7)

FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCRFULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
 
9892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x79892124323 | Book Call Girls in Juhu and escort services 24x7
9892124323 | Book Call Girls in Juhu and escort services 24x7
 
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
 
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual serviceCALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
CALL ON ➥8923113531 🔝Call Girls Saharaganj Lucknow best sexual service
 
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost LoverPowerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
 
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Gomti Nagar Lucknow best Night Fun service
 
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
Call US Pooja 9892124323 ✓Call Girls In Mira Road ( Mumbai ) secure service,
 

Introduction to UI Automation Framework

  • 1. UI  Automation  :  A   Primer Cocoaheads, Ann Arbor October, 2013
  • 2. About  Myself… Principal  Software  Developer  @  Barracuda  Networks Freelance  App  Developer  &  Consultant   www.priyaontech.com www.lunariasoftware.com TwiIer:@rajagp www.priyaontech.com 2
  • 3. Test  Categories •  Unit Testing o  Testing from developer’s perspective. o  Testing that a particular function is right o  Rest of system mocked up •  Functional Testing o  Testing from user’s perspective. o  Testing that system behaves right Today  we  talk  about    Functional  Testing www.priyaontech.com 3
  • 4. Functional  Testing  -­‐‑   Manual •  Pros o  Non programmer can do it o  No special hardware/software required o  Some aspects have to be manually tested – eg. the actual rendering, user experience •  Cons o  Time consuming (regression, large data sets and use cases) o  Lack of Reproducibility/ traceability (“Not sure what I did exactly to cause the app to crash..”) www.priyaontech.com 4
  • 5. Functional  Testing  -­‐‑   Automated •  Pros o  Saves time , effort •  Will offset the initial cost of writing the test scripts o  Consistency / Repeatable / Traceable o  Regression o  Large numbers of test data sets o  Continuous Integration •  Cons o  Need some programming skills www.priyaontech.com 5
  • 6. Options www.priyaontech.com 6 Tool Platform Scripting  Language Technical  Details Calabash iOS/Andoird   (Device  &   Simulator) BDD.  Feature   descriptions  wriIen  in   Gherkin.  Test  steps  in   Ruby. Uses  Cucumber  for  driving   tests.  A  HTTP  bounjour  server   runs  in  your  app  and  accepts   commands  from  test  driver   (HTTP/JSON).  Open  Source. Uses  Private  APIs Frank iOS  (Device  &   Simulator) BDD.  Feature   descriptions  wriIen  in   Gherkin.  Test  steps  in   Ruby. Uses  Cucumber  for  driving   tests.  A  HTTP  Frank  server   runs  in  your  app  and  accepts   commands  from  test  driver   over  “Franky”  protocol  (HTTP/ JSON).  Open  Source Uses  Private  APIs KIF iOS   (  Simulator/ device) Objective-­‐‑C Framework  integrated  into   app.  No  HTTP  server  or   external  driver.  Open  Source.  
  • 7. Options www.priyaontech.com 7 Tool Platform Scripting  Language Technical  Details Fone   Monkey/   Monkey   Talk iOS/Andoird   (Device  &   Simulator)  &   Web  Apps JS,  Obj-­‐‑C,  monkeyTalk   scripts Record  actions  using   MonkeyTalk  console,  save/edit   script  &  playback.  Open   Source  .  Premium  Support  will   cost  $$$ We’ll  discuss  UIAutomations  today
  • 8. UI  Automation •  Automated functional test framework from Apple •  UI interactions with app driven using test scripts •  Test scripts written in Javascript •  Test scripts executed using “Automation” instrument •  Actively developed & maintained (well….maybe) www.priyaontech.com 8
  • 9. UI  Automation •  Good user interaction coverage •  Can work with no/minimal app changes (recommend UIAccessibility) •  Works on simulators and devices •  Only on apps that are signed with development profile •  Simplicity www.priyaontech.com 9
  • 10. UI  Accessibility •  Informal Protocol •  Interface to assist people with disabilities •  Uniquely identify every element in the view hierarchy •  Every UIKit element can be specified to be accessible, using "label" attribute •  Recommended to use w/ UI Automations o  In order to interact with an element, you need to identify it •  Identifying element by position makes script fragile www.priyaontech.com 10
  • 11. UI  Accessibility  Rules •  Individual View o  Enable Accessibility o  Set Accessibility Label on the view •  Container View o  Disable Accessibility on container view o  Enable Accessibility on every contained view that you want accessible o  Specify Labels for container and contained views www.priyaontech.com 11
  • 12. UI  Element  Hierarchy www.priyaontech.com 12 Target Application Window View View UIATarget.localTarget() .frontMostApp() .mainWindow() [UIAElement].logElementTree()
  • 13. Tuneup.js •  A set of Javascript utilities to facilitate writing of UIAutomation scripts •  Lot of convenience Wrapper functions to handle repetitive tasks(isDeviceiPad, isDeviceiPhone ,assertLeftButtonNamed …) •  Enforce a structure to your test scripts – Invoke “test” function •  Alex Vollmer, http://www.tuneupjs.org www.priyaontech.com 13
  • 14. Demo   Get  it  at  :    hIp://priyaontech.com/ndownloads www.priyaontech.com 14
  • 15. Thank  you!     Further  Reading  :  Test  iOS  Apps  with  UI  Automation   Bug  Hunting  Made  Easy   By  Jonathan  Penn   www.priyaontech.com @rajagp www.priyaontech.com 15