Welcome to Selenium Recipes

Welcome to the website. I built this website to work as a collection for all things Selenium, and to start gathering together some of the best content on the web for Selenium. I also built this site so that I and others can showcase how to use Selenium in both conventional and unconventional ways. I will try to collect application resources (scripts, user-extensions, 3rd party applications, etc.) so that they can all be easily found and referenced at this site, and so they can continue to perpetuate, even if some of the other sites can no longer be accessed (like the Contributed user-extensions originally found on http://wiki.openqa.org/display/SIDE/Contributed+Extensions+and+Formats) . Clearly, this effort will take some time and we are only at the beginning at this time (April 2013), so please be patient.

In addition, I built this site to help keep the Selenium IDE alive. Some people program scripts or code and therefore may be better suited for the Selenium WebDriver tool, whereas others see the Selenium IDE as more than just an entry level, rapid prototyping tool that should only lead to the use of scripting with a programming language. When paired with some helper applications, and extended (typically through user-extensions or code changes to the Java files), I have been able to use the Selenium IDE for more advanced automation tests. Some examples are:

  • Dynamic database testing using a 3rd party, web-based report generator. No coding required, and real-time access to data (not stored CSV or XML files)
  • Web Services (using the web-services user-extension available here: http://wiki.openqa.org/display/SEL/callWebService
  • Image Comparison for regression testing a development enviornment to a production environment, using tools like Sikuli or IM.js (and there are many others, including ImageMagick). Some programming or integration may be required, but only once (short term requirement of your development department) ... then the tester's can use this kind of feature.
  • Custom User-Extensions
    • Capturing JavaScript and .net Errors without the use of the browser error console
    • Capturing a screen shot of only a particular web element (not the entire page) for capture purposes
    • So much more here alone (which is where Selenium really excels)
  • Performance Testing
  • System Monitoring
  • Completely configurable reporting and notifications using a robust Content Management System (Drupal.org) with the Selenium IDE

Once frameworks like these are in place (which are often free open-source implementations), what the Selenium IDE can do for your company is simply amazing. Now consider that from that base, testers without programming skills can leverage the power of selenium for advanced testing techniques saving the company a ton of money and resources either not paying for the price of either a programmer or a seasoned tester with programming skills, as well as seriously leveraging the number and depth of automation tests that can be created.

One last note. I am not one-sided when it comes to the use of the entire Selenium suite of tools. By all means, if you can program, do so. Selenium offers a ton of options for how to make the product fit your work place. However, consider this: the reality in many work places is that a majority of testing resources are not programmers. Some may have dabbled back in college, some may simply not want to do it even if they could, and some, just can't grasp some of the more advanced requirements for programming. Why not implement something that ALL of your testers can leverage as a foundation? Then, allow the ones who can program to do so (using Selenium Webdriver). Encourage your development staff to drop the Selenium drivers for your companies programming languages of choice into thier projects so that they too can leverage the power of selenium. That would allow them to natively drive all of the popular web browsers, and the platforms they run on (including IOS and Android) ... without recreating the wheel and WHILE being in sync with the testing resources. Kind of a no-brainer versus trying to force testers (or other non-programming resources they may have to contribute to the testing process) to program (like using Visual Studios Coded UI, which requires programming some form of framework to even begin using features that are already included in Selenium).