Ever since Automation based selenium testing came into existence in the tech industry, it has left an indelible mark and has become the most widely used automated testing method for web-based applications. The incessant need for quality assurance and rigorous testing in complex web and mobile applications has resulted in the market selecting Selenium and it has become the most prominent tool in this space.
So, what is Selenium based automation testing? Basically Selenium commands are used by automation scripts for emulating user actions on a web page. Furthermore, Selenium is an open source automated testing tool available for several dedicated purposes on web-based applications, which provides support for different web browsers, operating systems and programming languages. Selenium is a software testing suite written in Java and has paved the way to become the de facto product in the quality assurance world.
With the capacity to support numerous programming languages, operating systems and web browsers, Selenium based automation testing has been adopted for use by big technology providers such as Google, HubSpot, Fitbit, Netflix and many more. The whole suite provides solutions to different testing problems and needs.
Jason Huggins was the pioneer of the Selenium automation industry. As early as 2000 Mercury interactive was popular and a competitor to Thoughtwork’s. Jason cracked a joked in an email sent to his team at ThoughtWork’s, where he mocked their competitor “Mercury” by specifying that selenium is the antidote for Mercury poisoning! His team took the name, that was how the team approved the name Selenium for their framework.
The Selenium is a collection of different tools and has contributions from different notable people. The long history of selenium project has different stages with key individuals contributing immensely to the growth at different stages. Selenium was initially developed by Jason Huggins in 2004 while he was working as an Engineer in ThoughtsWork on a web application that requires frequent testing. He created the program using JavaScript, after using it he realized the shortcomings of manual testing and the need to curb monotony. He originally named the program JavaScriptTestRunner but after realizing the potential of the program, he made it an open source program which he re-named as Selenium Core.
However there were problems. Due to “Same Origin Policy” which prohibits JavaScript from being used from a different Domain name from which it was launched, testers had to go through the stress of installing Selenium Core and Web servers containing web applications to be tested so they can belong to the same domain. Paul Hammant another ThoughtWork’ Engineer offered a solution to this problem by creating Selenium Remote control (Selenium RC) or Selenium 1.
Selenium Grid was developed by Patrick Lightbody for parallel testing purposes which address the need of reducing time spent on test execution to minimal. Selenium automation test was faster as multiple tests can be carried out simultaneously. Shinya Kasatani of Japan contributed by carrying out a project on Selenium IDE in the year 2006. Selenium IDE helps automate the browser through record and playback feature. Simon Stewart created Web Driver Circa in 2006. This tool helps the software testers to perform tests via programmatic approaches using any programming language that is supported.
In the year 2008, the whole Selenium automation testing pioneer team decided to merge the web driver and Selenium RC to form a very useful tool called Selenium 2. Over the years much changes and improvements have taken place and the most recent stable release being Selenium 3.14.0 in August 2018.
Selenium commands are used by automation scripts for emulating user actions on a web page. When the automation script is executed, a HTTP request is created and sent to the browser driver for each Selenium command. The browser driver uses a HTTP server for getting HTTP requests which determines the algorithm needed for implementing the Selenium command. These steps are implemented and are executed on the browser. The execution status is sent back to HTTP server which passes status back to the automation script.
Selenium is one of the most extensively used tools in automation testing. Other than being an open source software selenium automation testing is supported by different platforms. Selenium scripts support a wide range of programming languages such as Java, Python, Perl, Php, Ruby, c#. A programmer with the knowledge of any of these can easily perform Selenium automation testing using selenium packages.
Selenium supports cross-browser testing. This means that testing can be performed across all browsers which include Chrome, Firefox, Safari, and IE.
Selenium Automation testing can also be carried out on different Native Operating systems like Windows, Mac, Linux and so on.
Programming languages | Browser supports | Operating Systems |
Java | Google Chrome | Windows |
Python | Mozilla Firefox | Mac |
Perl | Safari | Linux |
Php | IE | |
Ruby |
Selenium is not a single tool, it comprises of a suite of softwares, each catering for a different testing need of a software tester. Selenium suite has four components which include:
Automate testing for your web application in THREE days. Start Free Trial NowDiagram Showing different Components of selenium suite.
When the Selenium automation script is executed. The following actions take place:
To get more details about selenium webdriver read selenium webdriver documentation by SeleniumHQ
Selenium grid implements the Hub-and-Nodes concept. During software testing, the Hub acts as the central source of commands. These commands are distributed to the nodes that are connected to it.
Specify and register the platforms on which the code is written as the Hub Machine.
To get more details about selenium Grid read selenium Grid documentation by SeleniumHQ
There are numerous testing tools appearing in the market each year. Selenium has managed to stay ahead of them due to its many built-in advantages. Selenium based automation testing has gained wide range adoption due to these features listed below:
You may like to read
It is clear that the world is moving towards web and mobile applications. All types of web and mobile software is being hosted on the world wide web on a daily basis, which serves several purposes. This increases the need for automated web testing services. Selenium automation web-based services have proven to be among the best and most affordable type of web testing services and are continually undergoing constant improvements. Selenium is the defacto choice for automation testing whether on the web or on mobile platforms
Automation at Webomates is much more than basic Selenium scripts. In automation one needs both accuracy and speed. Building on the extensive base of Selenium we achieved enhanced speed by using grid with dynamic fleet of nodes. Accuracy is a challenge with selenium as on average 40% selenium scripts are bound to fail due to timeout or other Selenium/browser communication issues. Accuracy is obtained by combination of automatic re-execution algorithms and Artificial Intelligence to distinguish between real and false failures.
At Webomates we have optimized testing through combining our patented selenium based Automation and Artificial Intelligence with crowdsource and manual testing. We accelerate peace of mind at deployment, at significantly lower total costs. We offer a regression testing service, to not only guarantee Full regression of every test case ( even modified ones) in under 24 Hours but also to provide triaged video defects. Our customers spend only 1 hour a week on a Full Regression of their software!
If you are interested in learning more about Webomates’ CQ service please click here and schedule a demo or reach out to us at info@webomates.com.
Read Next –
5 Best Practices for Continuous Testing
continuous testing tools in devops
Smoke testing vs Sanity testing
Requirement traceability matrix
What is Non-functional Testing
Tags: Automation Testing, Regression Testing, Selenium, Software Testing
Test Smarter, Not Harder: Get Your Free Trial Today!
Start Free Trial
7 replies on “Selenium Testing Automation : Overview and History”
This is the first blog I read that explains well about selenium testing. I am looking a reference to write a content for our website gcoastit.com. I find your website and article a good source of information.
Hey Dee,
We appreciate your interest, there is another good article on Selenium being published shortly.
Hope you’d like it too. Keep sharing your review.
Hi there, just became alert to your blog through
Google, and found that it is truly informative. I
am going to watch out for brussels. I’ll be grateful if you continue this in future.
Numerous people will be benefited from your writing.
Cheers!
I will right away snatch your rss as I can not
find your email subscription hyperlink or e-newsletter service.
Do you have any? Please permit me recognize in order that I may just subscribe.
Thanks.
Like!! I blog quite often and I genuinely thank you for your information. The article has truly peaked my interest.
I am searching for such kind of blogs and all these site is really good. Thanks for sharing Selenium blog.
It’s the best time to make some plans for the future and it is time to
be happy. I’ve read this post and if I could I want to suggest you
some interesting things or advice. Perhaps you can write next articles referring to this article.
I want to read more things about it!