Selenium Automation tool | The Android of Web Automation Testing

Someone rightly said “If you automate chaos, all you get is faster chaos.” Selenium Automation tool – one phrase & you can either make the opportunity or lose one. The most talked-about technology in Software Testing industry. For most of the people, what is Selenium Automation tool? Yeah! I know, something related to automation. But it needs Java, and I don’t know it. Blah! Blah! Blah! Let’s see what Selenium Automation tool actually is.

Selenium

Selenium (meaning ‘Moon’) is a chemical element with symbol Se and atomic number 34. It is a nonmetal with properties that are intermediate between the elements above and below in the periodic table, sulfur and tellurium. It rarely occurs in its elemental state or as pure ore compounds in the Earth’s crust.

🙂 Shocked? Surprised? Haha..!

Just kidding 🙂 ‘Selenium’ is ‘also’ a chemical element, but we are not here to discuss the element. For us – ‘Selenium automates the browser’. Yeah! Whatever you do in a browser can be automated via Selenium Automation tool. There are other tools as well in the market, then why is Seleniumso popular? Coz its ‘Free’, ‘Open Source’ as we call it!

The evolution of Selenium Automation tool

Once upon a time, testers @ ThoughtWorks used to execute designed test cases manually. After every deployment they executed the same set of test cases, again & again. Boring & inefficient, right? Yeah! One day in 2004 they also recognized it and one man ‘Jason Huggins’ grabbed the opportunity – he developed an internal tool called ‘JavaScriptTestRunner’ that would automatically control the browser’s actions. Seeing the potential, he made JavaScriptRunner open-source which was later re-named as Selenium Core.

Soon after another ThoughtWork’s engineer, Paul Hammant, created a server that will act as an HTTP proxy to “trick” the browser into believing that Selenium Core and the AUT come from the same domain. This system was called Selenium Remote Control or Selenium 1. Whoaa! Remote control your web browser with Selenium. Great!

Three years later they recognized some limitations with Selenium RC, hence Simon Stewart developed ‘WebDriver’ in 2007. Unlike RC, the WebDriver doesn’t need a dedicated server to execute tests. In 2008 Patrick Lightbody launched ‘Selenium Grid’ – a network of automation tests running on different machines. Isn’t it amazing? No need to mention that it resulted in multi-fold rise in test execution efficiency.

In 2009, Selenium & WebDriver were combined in what would revolutionize the Software Testing community – Selenium 2.0 OR popularly known as Selenium WebDriver, the way we know Selenium Automation tool today!

A mail by Simon Stewart – “Why are the projects merging? Partly because WebDriver addresses some shortcomings in selenium (by being able to bypass the JS sandbox, for example. And we’ve got a gorgeous API), partly because selenium addresses some shortcomings in WebDriver (such as supporting a broader range of browsers) and partly because the main selenium contributors and I felt that it was the best way to offer users the best possible framework.”

Selenium Webdriver brought some of the brightest minds in test automation under one roof. And then the hunger grew. Since then there is no looking back – support for multiple programming languages and operating systems has been added to Selenium Automation tool!

But Record-&-Run was simple!

For the rival HP UFT lovers, this is the biggest argument. Counter-argument is known as ‘Selenium IDE’ – a Firefox Add-on created by Shinya Kasatani of Japan which can record every step performed and then can be executed n number of times. But it do has some limitations – only Firefox support, no error handling, how do you do database testing, etc. Selenium IDE is simply intended as a rapid prototyping tool. Shinya donated Selenium IDE to the Selenium Project in 2006.

But I don’t know JAVA…

Don’t worry. Selenium Automation tool won’t give you any excuses to make – it supports multiple languages like C#, Java, PHP, Python, Ruby etc. You can pick the language of your choice. It doesn’t matter in which language your application under test (AUT) is built.

Note: Selenium with Java is recommended because JAVA itself is a very powerful & commonly used language.

Selenium benefits – It’s all about the flexibility!

This is perhaps Selenium’s greatest strength when compared with other automation tools. In addition, since Selenium Automation tool is Open Source, the source code can always be downloaded and modified.

The entire suite of Selenium Automation tool results in a rich set of testing functions specifically geared to the needs of testing of web applications of all types. Selenium Automation tool is probably the best option for automated testing of Websites today. It is becoming increasingly popular and it is the first choice of automation testers as well as organizations for automating the testing of Web-based applications for both the GUI as well as the functionality. Now that you know what Selenium Automation tool is, the next step would be to install & start automating!

Trivia: ‘Selenium’ the chemical have a connection to ‘Selenium Automation tool’. The name Selenium comes from a joke made by Huggins in an email, mocking a competitor named Mercury, saying that you can cure mercury poisoning by taking selenium supplements. The others that received the email took the name and ran with it.

Different tools serve different purposes, the selection of tool should be done on the basis of your project requirements and application under test. Whatever tool you pick, it should empower you in achieving your automation testing goals.

Any technology or tool is worthless unless it is being used by ‘some’ organization somewhere. It all starts from organizations adopting the new technology or a tool and then it gets popular slowly. In that sense QA Job Descriptions are a great source of current technology, i.e. practical tech. being used by IT organizations. Be it Selenium, Protractor, Appium, API tools, Big Data Testing, etc. Everything is embedded in the QA Job descriptions, you just need to mine some data 😉 But don’t worry. Continuing on our “JD Talks” series – we mine hundreds of QA Job descriptions to come up with latest tools, technology, languages and concepts. Let’s see what the third set of JDs talk about…

About STS

Software Testing Studio is an attempt to share some incredible knowledge from industry leaders & experts, which should be helpful for anybody to start his/her career in ‘Software Testing’ or to progress it further. Apart from the technical nitty-gritties, one can also find some intellectual posts by industry experts sharing their Wisdom.