SlideShare uma empresa Scribd logo
1 de 37
Baixar para ler offline
Tips & Trick with Selenium

       Dima Kovalenko
         @dimacus
Resume
●   Worked with Selenium for 5 years
●   Currently working at Groupon
●   Blog: www.agilesoftwaretesting.com
Why I am here?
●   I enjoy finding new ways to test
    complicated things with Selenium
●   I want to share somethings I had to learn
    the hard way myself
●   I want to start a small "Selenium
    Examples" project
Source Code



github.com/dimacus/SeleniumTipsAndTricks
Wait For AJAX
Wait For AJAX
●   More web applications use AJAX to load
    content
●   Selenium is not very smart about AJAX
●   You need to add your own wait for AJAX
    method
Methods used
●   Selenium 1
    ●   Ruby
        ●   wait_for_condition
    ●   Java
        ●   waitForCondition
●   Selenium 2
    ●   Ruby
        ●   execute_script
    ●   Java
        ●   executeScript
Selenium 1
●   wait_for_condition method waits for
    JS condition to be true

●   To get to current window DOM
    ●   selenium.browserbot.getCurrentWindow()

●   Condition example for jQuery
    ●   selenium.browserbot.getCurrentWindow().
        jQuery.active == 0
Selenium 2
●   execute_script method executes JS
    method

●   Example
    ●   selenium.execute_script("return jQuery.
        active”)
    ●   Returns integer
    ●   0 no longer active
Non jQuery examples to check
●   jQuery
    ●   jQuery.active
●   Prototype
    ●   Ajax.activeRequestCount
●   Dojo
    ●   dojo.io.XMLHTTPTransport.inFlight.length
Screenshots
Screenshot
●   Selenium allows you to take screenshots
    of the whole web-page

●   Does not care if multiple windows are
    open

●   Ruby
    ●   save_screenshot
●   Java
    ●   getScreenshotAs
Take a screenshot on failure in
                  Cucumber
●   Cucumber has HTML reports

●   You can attach screenshots into report

●   Example
    ●   embed(“screenshot.png”, "image/png")
Video capture of tests
Video capture of test
●   Only on Linux for now

●   Working on windows/mac
    ●   I’m looking for a good free screen capture
        program.
    ●   Possibly VLC
Video capture of test

●   Record the test

●   If test passes, delete the video

●   If test fails, publish video into CI
Video capture of test
●   Using “headless” gem

●   Actual work:
    ●   Start XVFB
         ●   xvfb :1 –screen 1280x1024x24
    ●   Start ffmpeg
         ●   ffmpeg -f x11grab –i :1...
    ●   Write to /tmp/video.mov
    ●   Delete movie if test passes
    ●   Copy movie to project if fails
Video capture of parallel tests


●   Use different DISPLAY

●   Start XVFB for every test instance
Firefox profiles Selenium 1
●   Can use existing firefox profile

●   Set everything up once, and have it in the
    test
    ●   Extensions
    ●   SSL certificates
    ●   Passwords
Firefox profiles Selenium 2


●   Setup profile on the fly in code
    ●   Settings
    ●   Extensions
Selenium 2 profile
profile = Selenium::WebDriver::Firefox::Profile.new

profile[“some_setting“] = 1

selenium = Selenium::WebDriver.for :firefox, {:profile => profile}
In URL Basic Auth Firefox
●   Selenium 1
    ●   Modfy
        ●   network.http.phishy-userpass-length = 255

●   Selenium 2
    ●   Already supported in webdriver 2.14+
Auto download files
Auto download files
●   browser.helperApps.neverAsk.saveToDisk
    ●   List of MIME types to always save
         ●   application/pdf
         ●   application/zip
●   browser.download.dir
    ●   Default folder to save files to
    ●   browser.download.lastDir
         ●   Last save directory
●   browser.download.folderList
    ●   Set 2, to auto save to the default folder
Parsing PDF

●   Ruby
    ●   pdf-reader gem

●   Java
    ●   Apache PDFBox
Headless Tests
Headless Tests
●   HTMLUnit
    ●   Built into Selenium2 stand alone jar
    ●   Runs 2x faster for simple page loads
    ●   Emulates browsers
        ●   IE
        ●   Firefox
        ●   etc..

●   capybara-webkit gem
    ● Uses Nokia's QT framework
    ●   https://github.com/thoughtbot/capybara-webkit
Tests in parallel
Tests in parallel

●   Using fork in linux based systems

●   Windows does not have fork support ☹

●   Ruby
    ●   parallel_tests gem
    ●   or parallel gem
    ●   or Unix fork
Parallel Tips

●   Use separate databases for each test run

●   Tests SHOULD NOT depend on each
    other

●   Run in separate DISPLAYs on linux boxes
Sauce
●   Run selenium on
    ●   Multiple browsers
    ●   Operating systems
    ●   In parallel
    ●   EC2 cloud

●   Selenium 1 & 2 support
●   Screenshots of every step
●   Movie of every test
●   www.saucelabs.com
SauceLabs
Sauce connect
●   Small Java application

●   Sets up SSH tunnel between local
    computer and EC2

●   Allows Selenium tests to run against
    internal “Staging” servers
Selenium & iPhone
iPhone
●   Use iPhone Simulator’s Safari Browser

●   Need Xcode, developer account to
    compile app for simulator

●   No parallel support ☹

●   JS alert support is not always good ☹
iPhone application testing
●   Not selenium per se…
●   You can test applications using Frank
    project
    ●   http://www.testingwithfrank.com/
    ●   http://vimeo.com/21860134

Mais conteúdo relacionado

Mais procurados

Using Guided Missiles in Drive-bys: Automatic Browser Fingerprinting and Expl...
Using Guided Missiles in Drive-bys: Automatic Browser Fingerprinting and Expl...Using Guided Missiles in Drive-bys: Automatic Browser Fingerprinting and Expl...
Using Guided Missiles in Drive-bys: Automatic Browser Fingerprinting and Expl...
egypt
 

Mais procurados (20)

Xdebug for Beginners
Xdebug for BeginnersXdebug for Beginners
Xdebug for Beginners
 
Stop Sucking at Building Stuff!
Stop Sucking at Building Stuff!Stop Sucking at Building Stuff!
Stop Sucking at Building Stuff!
 
A walkthrough of JavaScript ES6 features
A walkthrough of JavaScript ES6 featuresA walkthrough of JavaScript ES6 features
A walkthrough of JavaScript ES6 features
 
Cross Browser Automation Testing Using Watir
Cross Browser Automation Testing Using WatirCross Browser Automation Testing Using Watir
Cross Browser Automation Testing Using Watir
 
Ant, Maven and Jenkins
Ant, Maven and JenkinsAnt, Maven and Jenkins
Ant, Maven and Jenkins
 
Best Practices in Component Development for MODX
Best Practices in Component Development for MODXBest Practices in Component Development for MODX
Best Practices in Component Development for MODX
 
Vue js 2.x
Vue js 2.xVue js 2.x
Vue js 2.x
 
Vaadin slides for @Devoxx 2012
Vaadin slides for @Devoxx 2012Vaadin slides for @Devoxx 2012
Vaadin slides for @Devoxx 2012
 
Angular2.0@Shanghai0319
Angular2.0@Shanghai0319Angular2.0@Shanghai0319
Angular2.0@Shanghai0319
 
Instant LAMP Stack with Vagrant and Puppet
Instant LAMP Stack with Vagrant and PuppetInstant LAMP Stack with Vagrant and Puppet
Instant LAMP Stack with Vagrant and Puppet
 
Ignite Devops Fast Moving Software
Ignite Devops Fast Moving SoftwareIgnite Devops Fast Moving Software
Ignite Devops Fast Moving Software
 
Vagrant and puppet: Deployment made easy
Vagrant and puppet: Deployment made easyVagrant and puppet: Deployment made easy
Vagrant and puppet: Deployment made easy
 
Devoxx France: Développement JAVA avec un IDE dans le Cloud: Yes we can !
Devoxx France: Développement JAVA avec un IDE dans le Cloud: Yes we can !Devoxx France: Développement JAVA avec un IDE dans le Cloud: Yes we can !
Devoxx France: Développement JAVA avec un IDE dans le Cloud: Yes we can !
 
Commit on day one thanks to vagrant & puppet!
Commit on day one thanks to vagrant & puppet!Commit on day one thanks to vagrant & puppet!
Commit on day one thanks to vagrant & puppet!
 
Efficient development workflows with composer
Efficient development workflows with composerEfficient development workflows with composer
Efficient development workflows with composer
 
Drupal + composer = new love !?
Drupal + composer = new love !?Drupal + composer = new love !?
Drupal + composer = new love !?
 
Angular + JHipster - JHipster Conf
Angular + JHipster - JHipster ConfAngular + JHipster - JHipster Conf
Angular + JHipster - JHipster Conf
 
Efficient development workflows with composer
Efficient development workflows with composerEfficient development workflows with composer
Efficient development workflows with composer
 
Using Guided Missiles in Drive-bys: Automatic Browser Fingerprinting and Expl...
Using Guided Missiles in Drive-bys: Automatic Browser Fingerprinting and Expl...Using Guided Missiles in Drive-bys: Automatic Browser Fingerprinting and Expl...
Using Guided Missiles in Drive-bys: Automatic Browser Fingerprinting and Expl...
 
BBS Selenium & Docker
BBS Selenium & Docker BBS Selenium & Docker
BBS Selenium & Docker
 

Semelhante a Selenium camp v1

Selenium Online Training.pdf
Selenium Online Training.pdfSelenium Online Training.pdf
Selenium Online Training.pdf
SpiritsoftsTraining
 
Mastering selenium for automated acceptance tests
Mastering selenium for automated acceptance testsMastering selenium for automated acceptance tests
Mastering selenium for automated acceptance tests
Nick Belhomme
 
Behat Workshop at WeLovePHP
Behat Workshop at WeLovePHPBehat Workshop at WeLovePHP
Behat Workshop at WeLovePHP
Marcos Quesada
 

Semelhante a Selenium camp v1 (20)

Selenium Online Training.pdf
Selenium Online Training.pdfSelenium Online Training.pdf
Selenium Online Training.pdf
 
Selenium Online Training.pdf
Selenium Online Training.pdfSelenium Online Training.pdf
Selenium Online Training.pdf
 
Selenium Online Training.pdf
Selenium Online Training.pdfSelenium Online Training.pdf
Selenium Online Training.pdf
 
Selenium Online Training.pdf
Selenium Online Training.pdfSelenium Online Training.pdf
Selenium Online Training.pdf
 
Selenium Online Training.pdf
Selenium Online Training.pdfSelenium Online Training.pdf
Selenium Online Training.pdf
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Mastering selenium for automated acceptance tests
Mastering selenium for automated acceptance testsMastering selenium for automated acceptance tests
Mastering selenium for automated acceptance tests
 
Test all the things! Automated testing with Drupal 8
Test all the things! Automated testing with Drupal 8Test all the things! Automated testing with Drupal 8
Test all the things! Automated testing with Drupal 8
 
jQuery Conference Austin Sept 2013
jQuery Conference Austin Sept 2013jQuery Conference Austin Sept 2013
jQuery Conference Austin Sept 2013
 
Selenium- A Software Testing Tool
Selenium- A Software Testing ToolSelenium- A Software Testing Tool
Selenium- A Software Testing Tool
 
Behat Workshop at WeLovePHP
Behat Workshop at WeLovePHPBehat Workshop at WeLovePHP
Behat Workshop at WeLovePHP
 
Vietnam qa meetup
Vietnam qa meetupVietnam qa meetup
Vietnam qa meetup
 
Automation Testing using Selenium
Automation Testing using SeleniumAutomation Testing using Selenium
Automation Testing using Selenium
 
test_automation_POC
test_automation_POCtest_automation_POC
test_automation_POC
 
Introduction to Selenium
Introduction to SeleniumIntroduction to Selenium
Introduction to Selenium
 
Codeception: introduction to php testing
Codeception: introduction to php testingCodeception: introduction to php testing
Codeception: introduction to php testing
 
Selenium for Tester.pdf
Selenium for Tester.pdfSelenium for Tester.pdf
Selenium for Tester.pdf
 
Selenium introduction
Selenium introductionSelenium introduction
Selenium introduction
 
Selenium Topic 2 IDE
Selenium Topic 2 IDESelenium Topic 2 IDE
Selenium Topic 2 IDE
 
Drulenium - Testing Made Easy
Drulenium - Testing Made EasyDrulenium - Testing Made Easy
Drulenium - Testing Made Easy
 

Mais de dimakovalenko (8)

Scaling and Managing Selenium Grid
Scaling and Managing Selenium GridScaling and Managing Selenium Grid
Scaling and Managing Selenium Grid
 
Managing Large Selenium Grid
Managing Large Selenium Grid�Managing Large Selenium Grid�
Managing Large Selenium Grid
 
Selenium Conf 2013 Lightning Talk - Any-Branch
Selenium Conf 2013 Lightning Talk - Any-BranchSelenium Conf 2013 Lightning Talk - Any-Branch
Selenium Conf 2013 Lightning Talk - Any-Branch
 
Stabilizing SE Build - Selenium conf 2013
Stabilizing SE Build - Selenium conf 2013 Stabilizing SE Build - Selenium conf 2013
Stabilizing SE Build - Selenium conf 2013
 
Jasmine presentation Selenium Camp 2013
Jasmine presentation Selenium Camp 2013Jasmine presentation Selenium Camp 2013
Jasmine presentation Selenium Camp 2013
 
Cucumber Presentation Kiev Meet Up
Cucumber Presentation Kiev Meet UpCucumber Presentation Kiev Meet Up
Cucumber Presentation Kiev Meet Up
 
Evergreen build
Evergreen buildEvergreen build
Evergreen build
 
Selenium and Cucumber Selenium Conf 2011
Selenium and Cucumber Selenium Conf 2011Selenium and Cucumber Selenium Conf 2011
Selenium and Cucumber Selenium Conf 2011
 

Último

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Último (19)

Croatia vs Italy Inter Milan Looking to Carry On Success at Euro 2024.pdf
Croatia vs Italy Inter Milan Looking to Carry On Success at Euro 2024.pdfCroatia vs Italy Inter Milan Looking to Carry On Success at Euro 2024.pdf
Croatia vs Italy Inter Milan Looking to Carry On Success at Euro 2024.pdf
 
Unveiling the Mystery of Main Bazar Chart
Unveiling the Mystery of Main Bazar ChartUnveiling the Mystery of Main Bazar Chart
Unveiling the Mystery of Main Bazar Chart
 
JORNADA 6 LIGA MURO 2024TUXTEPECOAXACA.pdf
JORNADA 6 LIGA MURO 2024TUXTEPECOAXACA.pdfJORNADA 6 LIGA MURO 2024TUXTEPECOAXACA.pdf
JORNADA 6 LIGA MURO 2024TUXTEPECOAXACA.pdf
 
Slovenia Vs Serbia Eurovision odds Slovenia have top.docx
Slovenia Vs Serbia Eurovision odds Slovenia have top.docxSlovenia Vs Serbia Eurovision odds Slovenia have top.docx
Slovenia Vs Serbia Eurovision odds Slovenia have top.docx
 
Spain to be banned from participating in Euro 2024.docx
Spain to be banned from participating in Euro 2024.docxSpain to be banned from participating in Euro 2024.docx
Spain to be banned from participating in Euro 2024.docx
 
basketball evolution History Slides.pdf
basketball evolution  History Slides.pdfbasketball evolution  History Slides.pdf
basketball evolution History Slides.pdf
 
Trusted Cricket Betting ID Provider In India: Get your Cricket ID Now
Trusted Cricket Betting ID Provider In India: Get your Cricket ID NowTrusted Cricket Betting ID Provider In India: Get your Cricket ID Now
Trusted Cricket Betting ID Provider In India: Get your Cricket ID Now
 
Genuine 8617370543 Hot and Beautiful 💕 Etah Escorts call Girls
Genuine 8617370543 Hot and Beautiful 💕 Etah Escorts call GirlsGenuine 8617370543 Hot and Beautiful 💕 Etah Escorts call Girls
Genuine 8617370543 Hot and Beautiful 💕 Etah Escorts call Girls
 
UEFA Euro 2024 Clash and Eurovision 2024 Poll Insights.docx
UEFA Euro 2024 Clash and Eurovision 2024 Poll Insights.docxUEFA Euro 2024 Clash and Eurovision 2024 Poll Insights.docx
UEFA Euro 2024 Clash and Eurovision 2024 Poll Insights.docx
 
Churu Escorts 🥰 8617370543 Call Girls Offer VIP Hot Girls
Churu Escorts 🥰 8617370543 Call Girls Offer VIP Hot GirlsChuru Escorts 🥰 8617370543 Call Girls Offer VIP Hot Girls
Churu Escorts 🥰 8617370543 Call Girls Offer VIP Hot Girls
 
Personal Brand Exploration - By Bradley Dennis
Personal Brand Exploration - By Bradley DennisPersonal Brand Exploration - By Bradley Dennis
Personal Brand Exploration - By Bradley Dennis
 
Netherlands Players expected to miss UEFA Euro 2024 due to injury.docx
Netherlands Players expected to miss UEFA Euro 2024 due to injury.docxNetherlands Players expected to miss UEFA Euro 2024 due to injury.docx
Netherlands Players expected to miss UEFA Euro 2024 due to injury.docx
 
Albania Vs Spain South American coaches lead Albania to Euro 2024 spot.docx
Albania Vs Spain South American coaches lead Albania to Euro 2024 spot.docxAlbania Vs Spain South American coaches lead Albania to Euro 2024 spot.docx
Albania Vs Spain South American coaches lead Albania to Euro 2024 spot.docx
 
Italy Vs Albania Italy vs Albania Euro 2024 Prediction Can Albania pull off a...
Italy Vs Albania Italy vs Albania Euro 2024 Prediction Can Albania pull off a...Italy Vs Albania Italy vs Albania Euro 2024 Prediction Can Albania pull off a...
Italy Vs Albania Italy vs Albania Euro 2024 Prediction Can Albania pull off a...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Cricket Api Solution.pdfCricket Api Solution.pdf
Cricket Api Solution.pdfCricket Api Solution.pdfCricket Api Solution.pdfCricket Api Solution.pdf
Cricket Api Solution.pdfCricket Api Solution.pdf
 
Hire 💕 8617370543 Amethi Call Girls Service Call Girls Agency
Hire 💕 8617370543 Amethi Call Girls Service Call Girls AgencyHire 💕 8617370543 Amethi Call Girls Service Call Girls Agency
Hire 💕 8617370543 Amethi Call Girls Service Call Girls Agency
 
Belgium Vs Slovakia Belgium at Euro 2024 Teams in group, fixtures, schedule, ...
Belgium Vs Slovakia Belgium at Euro 2024 Teams in group, fixtures, schedule, ...Belgium Vs Slovakia Belgium at Euro 2024 Teams in group, fixtures, schedule, ...
Belgium Vs Slovakia Belgium at Euro 2024 Teams in group, fixtures, schedule, ...
 
Luka Modric Elevating Croatia's Stars for Euro Cup 2024.docx
Luka Modric Elevating Croatia's Stars for Euro Cup 2024.docxLuka Modric Elevating Croatia's Stars for Euro Cup 2024.docx
Luka Modric Elevating Croatia's Stars for Euro Cup 2024.docx
 

Selenium camp v1

  • 1. Tips & Trick with Selenium Dima Kovalenko @dimacus
  • 2.
  • 3. Resume ● Worked with Selenium for 5 years ● Currently working at Groupon ● Blog: www.agilesoftwaretesting.com
  • 4. Why I am here? ● I enjoy finding new ways to test complicated things with Selenium ● I want to share somethings I had to learn the hard way myself ● I want to start a small "Selenium Examples" project
  • 7. Wait For AJAX ● More web applications use AJAX to load content ● Selenium is not very smart about AJAX ● You need to add your own wait for AJAX method
  • 8. Methods used ● Selenium 1 ● Ruby ● wait_for_condition ● Java ● waitForCondition ● Selenium 2 ● Ruby ● execute_script ● Java ● executeScript
  • 9. Selenium 1 ● wait_for_condition method waits for JS condition to be true ● To get to current window DOM ● selenium.browserbot.getCurrentWindow() ● Condition example for jQuery ● selenium.browserbot.getCurrentWindow(). jQuery.active == 0
  • 10. Selenium 2 ● execute_script method executes JS method ● Example ● selenium.execute_script("return jQuery. active”) ● Returns integer ● 0 no longer active
  • 11. Non jQuery examples to check ● jQuery ● jQuery.active ● Prototype ● Ajax.activeRequestCount ● Dojo ● dojo.io.XMLHTTPTransport.inFlight.length
  • 13. Screenshot ● Selenium allows you to take screenshots of the whole web-page ● Does not care if multiple windows are open ● Ruby ● save_screenshot ● Java ● getScreenshotAs
  • 14. Take a screenshot on failure in Cucumber ● Cucumber has HTML reports ● You can attach screenshots into report ● Example ● embed(“screenshot.png”, "image/png")
  • 16. Video capture of test ● Only on Linux for now ● Working on windows/mac ● I’m looking for a good free screen capture program. ● Possibly VLC
  • 17. Video capture of test ● Record the test ● If test passes, delete the video ● If test fails, publish video into CI
  • 18. Video capture of test ● Using “headless” gem ● Actual work: ● Start XVFB ● xvfb :1 –screen 1280x1024x24 ● Start ffmpeg ● ffmpeg -f x11grab –i :1... ● Write to /tmp/video.mov ● Delete movie if test passes ● Copy movie to project if fails
  • 19. Video capture of parallel tests ● Use different DISPLAY ● Start XVFB for every test instance
  • 20. Firefox profiles Selenium 1 ● Can use existing firefox profile ● Set everything up once, and have it in the test ● Extensions ● SSL certificates ● Passwords
  • 21. Firefox profiles Selenium 2 ● Setup profile on the fly in code ● Settings ● Extensions
  • 22. Selenium 2 profile profile = Selenium::WebDriver::Firefox::Profile.new profile[“some_setting“] = 1 selenium = Selenium::WebDriver.for :firefox, {:profile => profile}
  • 23. In URL Basic Auth Firefox ● Selenium 1 ● Modfy ● network.http.phishy-userpass-length = 255 ● Selenium 2 ● Already supported in webdriver 2.14+
  • 25. Auto download files ● browser.helperApps.neverAsk.saveToDisk ● List of MIME types to always save ● application/pdf ● application/zip ● browser.download.dir ● Default folder to save files to ● browser.download.lastDir ● Last save directory ● browser.download.folderList ● Set 2, to auto save to the default folder
  • 26. Parsing PDF ● Ruby ● pdf-reader gem ● Java ● Apache PDFBox
  • 28. Headless Tests ● HTMLUnit ● Built into Selenium2 stand alone jar ● Runs 2x faster for simple page loads ● Emulates browsers ● IE ● Firefox ● etc.. ● capybara-webkit gem ● Uses Nokia's QT framework ● https://github.com/thoughtbot/capybara-webkit
  • 30. Tests in parallel ● Using fork in linux based systems ● Windows does not have fork support ☹ ● Ruby ● parallel_tests gem ● or parallel gem ● or Unix fork
  • 31. Parallel Tips ● Use separate databases for each test run ● Tests SHOULD NOT depend on each other ● Run in separate DISPLAYs on linux boxes
  • 32. Sauce ● Run selenium on ● Multiple browsers ● Operating systems ● In parallel ● EC2 cloud ● Selenium 1 & 2 support ● Screenshots of every step ● Movie of every test ● www.saucelabs.com
  • 34. Sauce connect ● Small Java application ● Sets up SSH tunnel between local computer and EC2 ● Allows Selenium tests to run against internal “Staging” servers
  • 36. iPhone ● Use iPhone Simulator’s Safari Browser ● Need Xcode, developer account to compile app for simulator ● No parallel support ☹ ● JS alert support is not always good ☹
  • 37. iPhone application testing ● Not selenium per se… ● You can test applications using Frank project ● http://www.testingwithfrank.com/ ● http://vimeo.com/21860134