Selenium Testing: More Dangerous than We Thought?

Posted October 24, 2013 by Patrick Welsh

training_dss_poster

Selenium (Se) is a useful but dangerous tool.

For example, it is extremely useful for cross-browser, multi-page scenario testing.

However, Se is a tricky tool to use properly and safely:

  • Most teams have way too many Se tests.
  • Most Se tests are flakey: they fail intermittently.
  • Most Se tests are written very procedurally, with lots of copied and pasted code, and other bad programming practices.
  • Most Se tests are written in Se 1 Remote Control, not Se 2 WebDriver. Many modern web applications cannot be tested with Se 1, and Se 2 makes testing much easier and clearer overall.

If your team is wasting lots of time trying to repair Selenium test suites that seem to run intermittently no matter what you do, perhaps you could use some help. We offer a Driving Selenium Safely workshop, an on-line eLearning album and down-and-dirty on-site coaching.

http://www.youtube.com/watch?v=AKeIzUaGAUg&arve-mode=normal&arve-maxwidth=420

Check out the course outline for Driving Selenium Safely:

Day 1 - Safe Selenium Testing

Safe Testing Basics

Your First Se Test

Understanding Your First Test

Element Locator Strategies

Writing an Se Test from Scratch

Working Together to Test Web Apps

Day 2 - Real-World Selenium

Running Tests in the Cloud with Sauce Labs

Real Cross-Browser Testing

Keeping Se Test Suites Clean

Managing a Testing Environment

Migrating from Se 1 RC to Se 2/WebDriver

Real-World Gotchas

Applying what you've Learned at Work

Running Tests in the Cloud with Sauce Labs

Sauce Labs

Finally, if you don't want to manage your own collection of Virtual Machines for Se tests, consider instead using the SauceLabs service, which is an awesome way to run your tests in parallel against whichever browsers and operating systems you want.

Don't give up on Selenium, especially now that it has truly become an awesome tool. But don't let it waste your time and money, and don't let it make you CRAZY.