Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Testing with Selenium IDE

Testing with Selenium IDE

Covers using Selenium IDE to test a web application.

Adam Culp

May 09, 2012
Tweet

More Decks by Adam Culp

Other Decks in Programming

Transcript

  1. Selenium Testing IDE Presentation for: South Florida PHP Users Group

    By: Adam Culp Twitter: @adamculp http://www.geekyboy.com
  2. Selenium Testing IDE  About Me  Work for my

    own company from my home-based office consulting with many larger companies.  Zend PHP 5.3 Certified Engineer  Created ReqHarbor.com, OutsourceHarbor.com, more harbors coming.  Projects coming github.com/adamculp  Looking forward to php|tek '12 in a couple weeks  Ultra-runner (still trying to finish a 100 miler), scuba diver, judo player (black belt), husband, father (of 3), grand-dad (7 times, kids need a hobby)  Organizer of South Florida PHP Users Group for the past 2 years
  3. Selenium Testing IDE  What is Selenium IDE?  Integrated

    development environment to create, edit, and run Selenium scripts.  Runs as a Firefox plugin but can be used as Remote Control for any browser. (We will only cover the Firefox plugin for time constraint.)  Written in Javascript, considered another Firefox window.  Handy way to test web forms and other elements in a web page/application.  Great helper when troubleshooting.
  4. Selenium Testing IDE  Get Started  Install (Firefox addon

    site is a bit behind) http://addons.mozilla.org/en-US/firefox/addon/selenium-ide http://release.seleniumhq.org/selenium-ide/1.8.0/selenium-ide-1.8.0.xpi  Execute Tools->Selenium IDE  Record new test, or open a saved test
  5. Selenium Testing IDE  Basic keyboard/mouse action recording  Selenium

    IDE starts recording when it is started (by default).  Click the record button to stop the recording when completed.
  6. Selenium Testing IDE  Breakdown of test case  The

    test case is broken down into each step/click of the mouse, or input from the keyboard.
  7. Selenium Testing IDE  A test suite is a collection

    of test cases  Also in XML/HTML format, it is a list of test cases
  8. Selenium Testing IDE  Executing a test case  By

    opening a test case you can execute it by clicking the Play Current Test Case button.
  9. Selenium Testing IDE  Executing a test suite (collection of

    test cases)  By opening a test suite you can execute the entire suite by clicking the Play Entire Test Suite button.
  10. Selenium Testing IDE  Executing a test suite (collection of

    test cases)  By opening a test suite you can execute the entire suite by clicking the Play Entire Test Suite button.
  11. Selenium Testing IDE  Why manual commands?  If your

    form gracefully errors out and presents a nicely formatted message the page actually succeeded. There is no failure for Selenium to catch if you are simply recording mouse and keyboard actions.  In Selenium you would need to set additional assertions to look for certain elements or text that would indicate a failure.
  12. Selenium Testing IDE  Although you have a test suite

    open you can still select individual test cases within the suite and execute just that single test case.  Changing in individual test case does not affect the suite. The suite is a list of pointers to the cases. (Change a case, save the case. Add a case, save the case and suite.)
  13. Selenium Testing IDE  If you receive “false” test failures

    because the server is responding too slowly you can adjust the speed in which the IDE executes the test(s).
  14. Selenium Testing IDE  Setting breaks  If you need

    Selenium to stop in the middle of a test case so you can perform an action, or be alerted of progress, insert a break. This is handy to give you time to perform a needed action before the rest of the test suite runs. (ex. - a new user needs to add a password or if a password reset link is sent in email for the user to manually perform an action.)
  15. Selenium Testing IDE  Other run comands  If you

    would like to insert a point where Selenium should stop during a specific run, but not every time, you can set a breakpoint. This will not be saved to the test case, but will affect the current run.  You can also set/clear start points if you want a case to run from a certain point.  You can also tell Selenium to run a specific line of a case.
  16. Selenium Testing IDE  Other uses:  Coding and need

    to test a form/page repeatedly to view outputs.  Automate Google searches and continue cycling through results until you find your site. (SEO)  Pre-record actions for presentations