SlideShare una empresa de Scribd logo
1 de 23
IOS UI Automation
François Reynaud
Test engineer, eBay
Agenda
• Introduction
• Selenium
• Native
• Hybrid
• Real device
• Scaling
François Reynaud- EBAY INTERNATIONAL 2
Introduction
•EUQE
•Selenium committer
•History
•Current focus
François Reynaud- EBAY INTERNATIONAL 3
Selenium
• What selenium is about
– Browser automation tool
– Clean API, draft for the W3C
• Why Selenium for mobile testing ?
– API works for mobile
– API stability makes development easy
– Reusability
François Reynaud- EBAY INTERNATIONAL 4
Goal
Cut down regression time for the eBay IOS products.
•4 Native apps
•Hybrid apps and mobile web
•reuse existing tools if possible
•open source ( = no eBay specific features )
François Reynaud- EBAY INTERNATIONAL 5
The project
Status : version 0.6
Visible on github
•https://github.com/ios-driver/ios-driver
Documentation
•http://ios-driver.github.com/ios-driver/
Getting help
•IRC : #ios-driver on freenode
•Google group : ios-driver
François Reynaud- EBAY INTERNATIONAL 6
The team
François Reynaud- EBAY INTERNATIONAL 7
Luke Inman Semerau
IPhone driver
Graham Abell
NativeDriver fork
François Reynaud
Grid2, TWIN
Technical choices - Selenium
– No modification of the application
– Language / test framework shouldn’t matter
– A stable API / recognized is the key
François Reynaud- EBAY INTERNATIONAL 8
Native : Instruments
François Reynaud- EBAY INTERNATIONAL 9
Instruments – integration capabilities
François Reynaud- EBAY INTERNATIONAL 10
Design
François Reynaud- EBAY INTERNATIONAL 11
Client Server
WebDriver API
ios-driver
Java
C#
Ruby
Python
Writing tests
François Reynaud- EBAY INTERNATIONAL 12
Challenge 1 - content
François Reynaud- EBAY INTERNATIONAL 13
Challenge 1 - content
François Reynaud- EBAY INTERNATIONAL 14
Challenge 1 - content
François Reynaud- EBAY INTERNATIONAL 15
Challenge 2 - inspector
François Reynaud- EBAY INTERNATIONAL 16
Hybrid - UIWebView
17François Reynaud- EBAY INTERNATIONAL
WebKit Remote Debug Protocol
18François Reynaud- EBAY INTERNATIONAL
integration
19François Reynaud- EBAY INTERNATIONAL
Safari
20François Reynaud- EBAY INTERNATIONAL
Real device
Not very different :
– Instruments works on real device
– WKRDP works on real device
Limitation :
– Cannot change global settings
– Need to handle app signing
François Reynaud- EBAY INTERNATIONAL 21
Scaling using Selenium Grid
François Reynaud- EBAY INTERNATIONAL 22
Client
serverHubClient
CI
server
server
THANK YOU!
QUESTIONS?

Más contenido relacionado

La actualidad más candente

Mobile test automation with Selenium, Selendroid and ios-driver
Mobile test automation with Selenium, Selendroid and ios-driverMobile test automation with Selenium, Selendroid and ios-driver
Mobile test automation with Selenium, Selendroid and ios-driver
Michael Palotas
 
Chef NYC Users' Group - Announcements for June 2014
Chef NYC Users' Group - Announcements for June 2014Chef NYC Users' Group - Announcements for June 2014
Chef NYC Users' Group - Announcements for June 2014
Julian Dunn
 
Buck outside Valley
Buck outside ValleyBuck outside Valley
Buck outside Valley
Bruno Rocha
 

La actualidad más candente (19)

Apache Cordova - State of the Union 2014
Apache Cordova  - State of the Union 2014Apache Cordova  - State of the Union 2014
Apache Cordova - State of the Union 2014
 
What's new in Rails 4.1
What's new in Rails 4.1What's new in Rails 4.1
What's new in Rails 4.1
 
Firefox os
Firefox osFirefox os
Firefox os
 
Building iPhone/Andriod Apps with Titanium Appcelerator for a Rails Backend
Building iPhone/Andriod Apps with Titanium Appcelerator for a Rails BackendBuilding iPhone/Andriod Apps with Titanium Appcelerator for a Rails Backend
Building iPhone/Andriod Apps with Titanium Appcelerator for a Rails Backend
 
Selenium introduction
Selenium introductionSelenium introduction
Selenium introduction
 
Xamarin v.Now
Xamarin v.NowXamarin v.Now
Xamarin v.Now
 
3x3: Speeding Up Mobile Releases
3x3: Speeding Up Mobile Releases3x3: Speeding Up Mobile Releases
3x3: Speeding Up Mobile Releases
 
Hybrid Mobile application
Hybrid Mobile applicationHybrid Mobile application
Hybrid Mobile application
 
Improving Android app testing with Appium and Sauce Labs
Improving Android app testing with Appium and Sauce LabsImproving Android app testing with Appium and Sauce Labs
Improving Android app testing with Appium and Sauce Labs
 
Mobile test automation with Selenium, Selendroid and ios-driver
Mobile test automation with Selenium, Selendroid and ios-driverMobile test automation with Selenium, Selendroid and ios-driver
Mobile test automation with Selenium, Selendroid and ios-driver
 
FIREFOX OS
FIREFOX OSFIREFOX OS
FIREFOX OS
 
WordPress Mobile Apps - WordCamp San Antonio 2015
WordPress Mobile Apps - WordCamp San Antonio 2015WordPress Mobile Apps - WordCamp San Antonio 2015
WordPress Mobile Apps - WordCamp San Antonio 2015
 
Getting Started With bots
Getting Started With botsGetting Started With bots
Getting Started With bots
 
Mobile automation using appium.pptx
Mobile automation using appium.pptxMobile automation using appium.pptx
Mobile automation using appium.pptx
 
Chef NYC Users' Group - Announcements for June 2014
Chef NYC Users' Group - Announcements for June 2014Chef NYC Users' Group - Announcements for June 2014
Chef NYC Users' Group - Announcements for June 2014
 
WSO2Con EU 2016: How to Contribute to WSO2 : Community Process
WSO2Con EU 2016: How to Contribute to WSO2 :  Community ProcessWSO2Con EU 2016: How to Contribute to WSO2 :  Community Process
WSO2Con EU 2016: How to Contribute to WSO2 : Community Process
 
Buck outside Valley
Buck outside ValleyBuck outside Valley
Buck outside Valley
 
AP Setup Using Oxalis
AP Setup Using OxalisAP Setup Using Oxalis
AP Setup Using Oxalis
 
monkeyTalk
monkeyTalkmonkeyTalk
monkeyTalk
 

Similar a CodeFest 2013. François Reynaud. — Tools for mobile automation are nothing special

Ios driver presentation copy
Ios driver presentation copyIos driver presentation copy
Ios driver presentation copy
David O'Dowd
 
Developing Great Apps with Apache Cordova
Developing Great Apps with Apache CordovaDeveloping Great Apps with Apache Cordova
Developing Great Apps with Apache Cordova
Shekhar Gulati
 

Similar a CodeFest 2013. François Reynaud. — Tools for mobile automation are nothing special (20)

Ios driver presentation copy
Ios driver presentation copyIos driver presentation copy
Ios driver presentation copy
 
Automated Testing – Web, Mobile, Desktop - Challenges and Successes
Automated Testing – Web, Mobile, Desktop - Challenges and SuccessesAutomated Testing – Web, Mobile, Desktop - Challenges and Successes
Automated Testing – Web, Mobile, Desktop - Challenges and Successes
 
Continuous integration & deployment
Continuous integration & deploymentContinuous integration & deployment
Continuous integration & deployment
 
Advanced Appium
Advanced AppiumAdvanced Appium
Advanced Appium
 
手機自動化測試和持續整合
手機自動化測試和持續整合手機自動化測試和持續整合
手機自動化測試和持續整合
 
Developing Great Apps with Apache Cordova
Developing Great Apps with Apache CordovaDeveloping Great Apps with Apache Cordova
Developing Great Apps with Apache Cordova
 
10 Useful Testing Tools for Open Source Projects @ TuxCon 2015
10 Useful Testing Tools for Open Source Projects @ TuxCon 201510 Useful Testing Tools for Open Source Projects @ TuxCon 2015
10 Useful Testing Tools for Open Source Projects @ TuxCon 2015
 
Selenium for everyone
Selenium for everyoneSelenium for everyone
Selenium for everyone
 
DeveloperDeveloperDeveloper! Sydney 2012
DeveloperDeveloperDeveloper! Sydney 2012DeveloperDeveloperDeveloper! Sydney 2012
DeveloperDeveloperDeveloper! Sydney 2012
 
Selenium Overview - By Adam Carmi
Selenium Overview - By Adam CarmiSelenium Overview - By Adam Carmi
Selenium Overview - By Adam Carmi
 
jQuery Chicago 2014 - Next-generation JavaScript Testing
jQuery Chicago 2014 - Next-generation JavaScript TestingjQuery Chicago 2014 - Next-generation JavaScript Testing
jQuery Chicago 2014 - Next-generation JavaScript Testing
 
Appium - test automation for mobile apps
Appium - test automation for mobile appsAppium - test automation for mobile apps
Appium - test automation for mobile apps
 
Introducing ASP.NET vNext - A tour of the new ASP.NET platform
Introducing ASP.NET vNext - A tour of the new ASP.NET platformIntroducing ASP.NET vNext - A tour of the new ASP.NET platform
Introducing ASP.NET vNext - A tour of the new ASP.NET platform
 
Automation using Javascript
Automation using JavascriptAutomation using Javascript
Automation using Javascript
 
Modern Web Framework : Play framework
Modern Web Framework : Play frameworkModern Web Framework : Play framework
Modern Web Framework : Play framework
 
Heroku cloud platform
Heroku cloud platformHeroku cloud platform
Heroku cloud platform
 
What is Firefox OS
What is Firefox OSWhat is Firefox OS
What is Firefox OS
 
Tech Talk Live - 5.2 REST APIs
Tech Talk Live - 5.2 REST APIsTech Talk Live - 5.2 REST APIs
Tech Talk Live - 5.2 REST APIs
 
AFNetworking
AFNetworking AFNetworking
AFNetworking
 
Enterprise iPad Development Without Notes
Enterprise iPad Development Without NotesEnterprise iPad Development Without Notes
Enterprise iPad Development Without Notes
 

Más de CodeFest

Más de CodeFest (20)

Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander Graebe
 
Никита Прокопов
Никита ПрокоповНикита Прокопов
Никита Прокопов
 
Денис Баталов
Денис БаталовДенис Баталов
Денис Баталов
 
Елена Гальцина
Елена ГальцинаЕлена Гальцина
Елена Гальцина
 
Александр Калашников
Александр КалашниковАлександр Калашников
Александр Калашников
 
Ирина Иванова
Ирина ИвановаИрина Иванова
Ирина Иванова
 
Marko Berković
Marko BerkovićMarko Berković
Marko Berković
 
Денис Кортунов
Денис КортуновДенис Кортунов
Денис Кортунов
 
Александр Зимин
Александр ЗиминАлександр Зимин
Александр Зимин
 
Сергей Крапивенский
Сергей КрапивенскийСергей Крапивенский
Сергей Крапивенский
 
Сергей Игнатов
Сергей ИгнатовСергей Игнатов
Сергей Игнатов
 
Николай Крапивный
Николай КрапивныйНиколай Крапивный
Николай Крапивный
 
Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander Graebe
 
Вадим Смирнов
Вадим СмирновВадим Смирнов
Вадим Смирнов
 
Константин Осипов
Константин ОсиповКонстантин Осипов
Константин Осипов
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele Rialdi
 
Максим Пугачев
Максим ПугачевМаксим Пугачев
Максим Пугачев
 
Rene Groeschke
Rene GroeschkeRene Groeschke
Rene Groeschke
 
Иван Бондаренко
Иван БондаренкоИван Бондаренко
Иван Бондаренко
 
Mete Atamel
Mete AtamelMete Atamel
Mete Atamel
 

Último

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 

CodeFest 2013. François Reynaud. — Tools for mobile automation are nothing special

Notas del editor

  1. Me:Joined eBay 8 years ago.1) part of the EUQE =European Quality engineering team. Small team :About 15 people testing everything that impacts the 12 european sites.Large scope :12 web sites, windows desktop application ( Turbo Lister ) and Mobile-> no in house tools. Use open source if possible, and create and open source all tools created.2) Selenium committer, project lead for Selenium Grid.3) History :Web test : done with seleniumWindows desktop test : done with TWIN ( open sourced : https://code.google.com/p/twin/ ) Scalability / architecture : done with selenium grid ( part of the selenium project )4) Current focusMobile : current focus. I’m focusing on IOS. DominikDary focuses on Android.Goal is to integrate with what we already have
  2. Selenium is at the core of all our automation.What is selenium :a browser automation tool ( not a test framework )Clean design that allowTo use any language / any test framework to write the testsRun the tests in parallel against all major browsersX-browser , super stable API : tests written today for firefox will run tomorrow on the next chrome versionBecoming a W3C standard – no going away any time soon. Why selenium for Mobile :selenium’s strength is its API that describes user interactions.Those users interactions can be applied directly to mobile. A subset of it, some interaction do not exist in the mobile world : mouse move, mouse overMore commands can be added using the vendor extension section of the selenium protocolHaving this stable API allows to write tests while working on the driver. When bugs are fixed, and features added, there is no need to refactor the tests already written. Reusability :By following the same design for mobile, we can significantly reduce the effort it takes to write tests. The same design and abstraction can be applied to mobile, and all the mocks and helper classes can be reused. For eBay, starting mobile automation in a selenium envt means 50% of the work is already done ( create users, items, DB access )
  3. Business goal :1) eBay releases 4 native apps for IOSThose apps have to be tested by the EU team already testing Web and windows desktop.The goal of our automation is NOT to automate everything, but rather to :Get rid of the repetitive tasks Free resources to have more time for exploratory testingA typical task we don’t do with any of our automation is layout validation. We only validate functionalities.2) Mobile web is also a big focus. Long term plan :eBay isn’t a framework company. We can’t afford dedicating resources on framework maintenance.So we reuse what we can, and open source to have the testing community help with the maintenance.This has worked perfectly so far.
  4. Version 0.6Main functionality are working and tests can be writtenbut there is still a lot of polishing to doVisible on github. Contributors welcome. The project is in C, Java and Javascript.Best way to get interactive help : IRC
  5. Open source project. Does belong to a single company. Several experienced people already :2 selenium committersCurrent maintainer of the NativeDriver community fork
  6. I’ve been a user and contributor for Selenium, and I believe the selenium approach to testing is the correct one :1) The application under tests shouldn’t have to be modified to be tested2) A browser automation / mobile automation framework shouldn’t force a user to choose a testing framework , or testing methodology.It’s not the role of the mobile framework to decide vsTestNG or Junit in the java world.It’s “ to decide is BDD should be used or not.The key is integration. Most likely users will already have something in place when they start mobile automation.3) Rewriting all the tests each time the implementation of the framework changes isn’t an option.
  7. First part I worked on was Native app.We are in an IOS world, so looking at Apple tools is a good start.For Native apps, Apple provides the Instruments tools - great tools - does all the heavy lifting : takes the application, and allow to inspect it and generate user interaction - integrated in the apple tool suite - language is JS : coming from a Web world,it makes it easy.Some drawback - integration with non apple suite ( anything not part of the Apple UI really ) isn’t easy - browsing the native object tree isn’t pleasant. A nicer API is needed.
  8. Thankfully, instruments comes with 2 handy features :Instruments can be started without the UIInstruments scripts can communicates with other processes using performTask.That allows to build a framework that leverages all the good features of Instruments :No modification of the appApple support, so new SDK recognized when launchedAnd can improve the not so good parts of it, making it as easy to use as Selenium
  9. Green boxes are what a tester will see. That code isn’t part of ios-driver, it’s taken as is from the Selenium project.The part ios-driver is about id the server side, the part wrapping instruments, and controlling the device / simulator ( setup, teardown of apps )Allow remote executionMap the instruments command to the selenium ones.
  10. Writing a ios mobile test becomes easy :No particular setup needed, just a mac with Xcode in the path and ios-server runningAny test Framework can be used.It uses plain selenium client. Example is in Java, but all client bindings will work.
  11. Main challenge for multi language apps is content.There is no ID like for web testing, and all selectors are heavily relying on content.The screenshot is an example of the International mountain app, the l10n example from apple.The app functionality is the same for all locale, but you need the content to target the elements.
  12. Fortunately the content is available in the app.Each piece of content is generated from a key ( assuming the app content isn’t hardcoded ).Ios-driver uses that and allow tests to pass the content key as a selector, translating it on the fly based on the locale.
  13. -That is what the selector becomes.- It’s not as easy as using an ID for a regular webpage, but it’s close enoughIt only help validating the functionality of the app, it assumes the translation in the app files are correct.To validate the translation itself, a different mechanism should be used.
  14. The 2nd challenge is the lack of inspector.When working on a webpage, I always need firebug on the chrome console opened to see what happens. We need something similar for ios.+ demo here if time.https://dl.dropbox.com/u/24687868/presentations/inspector_record.mov
  15. When all that is done, the native part of the ios apps can be automated.This is only half if what needs to be done to have a fully working IOS solution.Hybrid apps ( native apps with some html content cannot be properly automated using native API )Mobile web : same issue ( mobile safari is an hybrid app where 99% of the work happens in the webviews )
  16. Since IOS 6.0, there is a solution to that problem : we can use the WKRDP ( webkit remote debug protocol )If your device ( simulator, or USB connected real device ) has a webview, the webview can be access ( read + write ) using the debug protocol.Demo : https://dl.dropbox.com/u/24687868/presentations/wkrdp.mov
  17. Instruments and WKRDP are completely separate, and can be run in parallel. So what’s left isto build a 2nd driver in ios-driver that implement all the selenium command but for webviews this time.Allows to switch from native to webview, this is done with the switch window selenium APIThat allows :- native clicks and keypress for webview ( Demo if time here )Good web selector ( by id, css selector ) on hybrid pages. navigation between frames / windows.
  18. With hybrid support, safari support comes for free.Demo multi window, demo type.https://dl.dropbox.com/u/24687868/presentations/SafariNative.mov
  19. Most of development and tests are using the simulator, because it’s easier and cheaper.However, everything also works on real device.Working with real device has some challenges though :Fixed SDK versionFixed deviceFixed locale / languageNo geolocation changesExtra work managing certificatesSlow
  20. - UI tests are slow- UI IOS tests require real device etcRunning them in parallel and managing the infrastructure is even more critical than for web automation.Using Selenium grid 2 will make a huge difference for tester.https://dl.dropbox.com/u/24687868/demo.mov