Selenium - what it is and what you can do with it

  • 138 views
Uploaded on

An introduction to Selenium, a technology for testing web sites. I give an overview of its ecosystem and also show you how to create a simple CI system based on Selenium Builder, GitHub, Travis and …

An introduction to Selenium, a technology for testing web sites. I give an overview of its ecosystem and also show you how to create a simple CI system based on Selenium Builder, GitHub, Travis and Sauce Labs.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
138
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
3
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Selenium what it is and what you can do with it
  • 2. Selenium ● Web testing framework ● A faster way to see if your site works ● Real browsers for fidelity Test Server Browser
  • 3. Applications ● Cross-browser testing ● Continuous integration ● (Scraping & automation)
  • 4. Ecosystem ● ● ● ● Two versions Many language bindings Two development environments Many playback backends
  • 5. Selenium IDE Selenium 1 Test Selenium Builder Selenium 1 Code Selenium 2 Code Builder JSON Selenium 1 APIs Webdriver APIs Se Interpreter HTML Ghost Selenium Server IE Firefox Chrome Opera Android etc.
  • 6. Selenium 1 vs 2 ● v 1 is a list of testing steps ● v 2 is an API for remote-controlling browsers
  • 7. Selenium 1 Tests ● Sequence of test steps ● “Go to this page, click on this link, does this text appear?” ● Stored as “Selenese” table or code
  • 8. Selenium 2 / Webdriver APIs ● Write code to control the browser ● Python, Java, Ruby, Perl, PHP, C#, node, Groovy, etc.
  • 9. Locators are for finding stuff ● Locators refer to page elements ● Multiple strategies: id, class, text, xpath… ● Ideally robust to minor page changes
  • 10. Playback fidelity is hard! ● Javascript is everywhere: you can’t test a page just by looking at the HTML ● Want to run tests quickly but waits needed ● Reliable locators can be hard ● CSS rollovers, element visibility, etc.
  • 11. No silver bullet blah blah blah ● ● ● ● Selenium uses real browsers for fidelity Implicit waits sometimes work Write clean, testable pages 80/20 automated/manual is still nice
  • 12. Getting started with Selenium 2 ● Get language bindings ● Write your first test ● Run your first test
  • 13. demo
  • 14. Builder+GitHub+Travis+Sauce = CI ● ● ● ● Record tests with Selenium Builder Store them on GitHub in the project repo Use Travis to drive test runs on commit Use Sauce Labs’ Selenium servers
  • 15. demo http://sauceio.com/index.php/2013/03/building-a-ci-system-using-selenium-builder-github-travis-and-sauce-labs/
  • 16. Substitutions ● Builder: IDE or hand-coded scripts ● Travis: another CI system, e.g Jenkins ● Sauce OnDemand: your own infrastructure or another provider like TestingBot
  • 17. That’s it! ● Questions? ● Follow me on @zarkonnen_com