February 20, 2015

Selenium WebDriver User Resources

There has been a sudden shift in the software testing industry. As companies are trying to make their software development life cycle run faster and faster, the lines have blurred between Software Quality Assurance and Software Development. If you are a QA Engineer, in order to speed up the regression tests -- checking that the new additions to the product didn't break the old functionality -- you now need to learn how to code. And Selenium WebDriver -- the open-source software that couples with Java, Python, or other languages to simulate a user operating a web application in a browser -- has been the tool to use.

But where can you find good, solid information on how to use Selenium WebDriver?



Here are a collection of resources that I have been using to learn about Selenium WebDriver:

Selenium HQ: 

http://www.seleniumhq.org/projects/webdriver/

The official site of the Selenium WebDriver project contains information such as:

An Introduction to the Selenium Project discussing:

  • Whether or not you should use automation to test your web application.
  • A Brief History of The Selenium Project
  • An introduction to a rapid prototyping tool, Selenium IDE that beginners can use.

WebDriver Documentation  where you can read about Setting up a Selenium WebDriver Project , get an introduction to the WebDriver API (Application Program Interface)  and see examples accessing the Selenium WebDriver code in Java, C#, Python, Ruby, PHP, Perl, or Javascript.

It also contains documentation on Advanced Topics such as:

  • Using Explicit and Implicit Waits where you can wait for the elements on the page of your web application to load before manipulating them.
  • Selenium Grid  which allows you to run your tests in different browsers on different machines in parallel. You set up a Hub to organize the tests, and set up one Node each for each browser/ platform. 
The Download Page walks you through which WebDriver and offers many different computer language bindings such as Java or Python. 

Selenium Wiki:


The Selenium Wiki isn't organized neatly like Wikipedia. It is an assortment of seventy or so documents discussing advanced material like the Chrome, Ruby, Firefox, Internet Explorer, Opera, and even the Safari drivers which interacts between Selenium and each respective browser.

There is also a paper on the JSON Wire Protocol describing how data -- formatted in Javascript Object Notation -- goes across the network (the wire) by way of HTTP calls.  You can read more about the basics behind JSON and REST from Dr. Dobbs: RESTful Web Services: A Tutorial (9/23/2014)



User Groups:


There are two official groups you can use to ask questions about Selenium:

The Selenium Users Google Group: Trying to find an answer while attempting to automate your web application? Search this forum for answers after reading.



The Selenium Developers Google Group: Want to understand what Selenium WebDriver is doing behind-the-scenes? Are you a developer working on the Selenium Codebase? This is the Google Group you want.


Blogs:

The Official Selenium Blog: By SeleniumHQ, this blog only has periodic updates. An interesting feature are the recorded Google Hangouts where you can listen to the main people who commit to the Selenium WebDriver codebase talk about updates about the Selenium community.  

Selenium Simplified: Alan Richardson @EvilTester is a consultant who focuses on software testing. I loved his course I discovered on Udemy, Selenium 2: WebDriver Basics with Java so I follow his blog. 

All Selenium WebDriver Blogs: Michael Wowro -- who writes a German blog, IT Kosmopolit -- keeps a running index on all blogs that he finds on Selenium WebDriver.

Tutorials:


Selenium 2: WebDriver Basics with Java:

Although this Udemy.com course is $299, I found it was well worth it. Alan Richardson @EvilTester has a knack explaining complex problems simply, breaking things down step-by-step. Once complaint could be that the material is too extensive. There are 230+ short lectures covering the basics, but also including all the intermediate and advanced material you could ever want.  
Alan walks you through installing Selenium WebDriver, Java, and IntelleJ, the Integrated Development Environment (IDE) he prefers to use to write in Java, and how to use Maven to update the environment. Other topics are about how to test in different browsers, PageObjects, Continuous Integration using Jenkins, Data Driven Testing, and using Selenium Grid and Sauce Labs. 

Elemental Selenium:

A weekly emailed newsletter run by Dave Haeffner -- has an archived collection of Tips you can view. I have yet to review his Selenium Guidebook since the Java edition doesn't come out until March. Dave also wrote about Selenium Bootcamp. He also organizes the Selenium Hangouts

Sauce Labs:

Sauce Labs was started by Jason Huggins, the author of Selenium before it merged with WebDriver. They back the Appium open-source project that allows users to automate using Selenium on mobile devices. They have a good tutorial in Java, and many other language bindings for Selenium.  

Have any blogs or tutorials you like to use? Add links to them in the Comments!

-T.J. Maher
 Sr. QA Engineer
 Quincy, MA
Post a Comment