Selenium - what it is and what you can do with it
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

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

  • 293 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
293
On Slideshare
293
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