Selenium Tutorials 31+ Best Free Selenium Training Tutorials

After several frequent requests from STH readers, today we are finally launching our FREE Selenium Tutorial series. In this Selenium training series, we will cover all Selenium testing concepts and its packages in detail with easy to understand practical examples.

These Selenium tutorials are helpful for beginners to advanced level Selenium users. Starting from the very basic Selenium concepts tutorial, we will gradually move on to the advanced topics like Framework creation, Selenium Grid, and Cucumber BDD.

Selenium Tutorials

Note: We will be increasing our article posting frequency for this series. Please don’t miss any tutorial. Keep a track of all the tutorials by bookmarking this page as we will keep updating it with the links to all new Selenium tutorials.

**********************************

All Selenium Training Tutorials are listed below for your handy reference.

List of Selenium Online Training Tutorials

Selenium Basics:

Selenium WebDriver:

Selenium Framework:

Advanced Selenium:

Selenium Tips and Interview Preparation:

**********************************

How to start Learning Selenium?

This is the best time to start learning Selenium testing by your own with the help of this free Selenium Training series. Read tutorials, practice examples at your home, and put your queries in the comment section of the respective tutorials. We will address all of these queries.

Experienced Selenium professionals – you too can take part in this series by providing answers to the reader’s queries in comments.

This is one of our serious effort to help you learn and master one of the most popular software testing tools!

Selenium Introduction

We are much delighted to launch our yet another series of software testing training tutorials. The belief behind introducing this tutorial is to make you an expert in one of the widely used software test automation solution, Selenium.

In this series, we will look at the various facets of Selenium. Selenium is not just a tool, it is a cluster of independent tools. We will look into some of the Selenium tools in detail with practical examples wherever applicable.

Before you jump into reading this exciting and useful series, let us take a look at what it has got in store for you.

Why Selenium?

The current industry trends have shown that there is a mass movement towards automation testing. Hence a cluster of repetitive manual testing scenarios has raised a demand to bring in the practice of automating these manual scenarios.

There are several Benefits of implementing Automation Test; let’s take a look at them:

  • Supports execution of repeated Test Cases
  • Aids in testing a large Test Matrix
  • Enables parallel execution
  • Encourages unattended execution
  • Improves accuracy thereby reducing human-generated errors
  • Saves time and money

All these benefits result in the following:

  • High ROI
  • Faster GoTo market

There are several Automation testing benefits which are well understood and largely talked about in the software testing industry.

One of the most commonly asked questions that come with this are –

  • What is the best tool for me to get my tests automated?
  • Is there a cost involved in it?
  • Is it easy to adapt?

One of the best answers to all the above questions for automating web-based applications is Selenium. Because:

  • It’s an open source
  • It has a large user base and helping communities
  • It has multi-browser and platform compatibility
  • It has active repository developments
  • It supports multiple language implementations

First Glance at Selenium

Selenium is one of the most popular Automated Testing suites. Selenium is designed in such a way to support and encourage Automation Testing of functional aspects of web-based applications and a wide range of browsers and platforms. Due to its existence in the open source community, it has become one of the most accepted tools amongst the testing professionals.

Selenium supports a broad range of browsers, technologies, and platforms.

(Click on image for enlarged view)

Selenium intro 1 new

Selenium Components

Selenium is not just a single tool or a utility, its rather a package of several testing tools, hence it is referred as a Suite. Each of these tools is designed to cater different testing and test environment requirements.

The suite package constitutes of the following set of tools:

  • Selenium Integrated Development Environment (IDE) Selenium intro 2
  • Selenium Remote Control (RC) Selenium intro 3
  • Selenium WebDriver
  • Selenium Grid Selenium intro 4

Selenium RC and WebDriver, combined together are popularly known as Selenium 2. Selenium RC alone is also referred as Selenium 1.

Selenium intro 5

Brief Introduction to Selenium Tools

Selenium Core

Selenium is a result of the continuous efforts by an engineer named Jason Huggins from ThoughtWorks. Being responsible for the testing of an internal Time and Expenses application, he realized the need for an automation testing tool in order to get rid of repetitive manual tasks without compromising the quality and accuracy.

As a result, he built a JavaScript program, named as “JavaScriptTestRunner” in early 2004 that could automatically control the browser’s actions which seemed very much similar to that of a user communicating with the browser.

Henceforth, Jason started demoing the tool to a vast audience. Eventually, the discussions were laid out to categorize this tool in an open source category and its potential to grow as a re-usable testing framework for other web-based applications.

The tool was later acclaimed with the name “Selenium Core”.

Selenium IDE (Selenium Integrated Development Environment)

Selenium IDE was developed by Shinya Kasatani. While studying Selenium Core, he realized that this JavaScript code can be extended to create an integrated development environment (IDE), which can be plugged into Mozilla Firefox. This IDE was capable of recording and playing back the user actions on a Firefox instance to which it was plugged-in. Later on, Selenium IDE became a part of Selenium Package in the year 2006. Later this tool turned out a great value and potential to the community.

Selenium IDE is the simplest and easiest of all the tools within the Selenium Package. Its record and playback features make it exceptionally easy to learn with minimal acquaintances to any programming language. With several advantages, a few disadvantages accompanied Selenium IDE, thus making it inappropriate to be used in case of more advanced test scripts.

Advantages and Disadvantages of Selenium IDE:

Selenium intro 6

The disadvantages of IDE are really not disadvantages of Selenium, in reality. Rather they are just limitations to what IDE could achieve. These limitations can be overcome by using Selenium RC or WebDriver.

Selenium RC (Selenium Remote Control)

Selenium RC is a tool written in Java to allow a user to construct test scripts for a web-based application in any programming language he/she chooses. Selenium RC came as a result to overcome the various disadvantages incurred by Selenium IDE or Core.

Loopholes and restrictions which were imposed while using Selenium Core made it difficult for the user to leverage the benefits of the tool to its totality. Thus it made the testing process a cumbersome and a far-reaching task.

One of the crucial restrictions was Same Origin Policy.

Problem With Same Origin Policy:

The problem with Same Origin Policy is, it disallows to access the DOM of a document from an origin that is different from the origin we are trying to access the document.

Origin is a sequential combination of scheme, host, and port of the URL. For example, for the URL http://www.seleniumhq.org/projects/, the origin is a combination of HTTP, seleniumhq.org, 80 correspondingly.

Thus Selenium Core (JavaScript Program) cannot access the elements from an origin that is different from where it was launched.

For Example, if I have launched the JavaScript Program from “http://www.seleniumhq.org/”, then I would have been able to access the pages within the same domain such as “http://www.seleniumhq.org/projects/” or “http://www.seleniumhq.org/download/”. The other domains like google.com, yahoo.com would no more be accessible.

Thus, to test any application using Selenium Core, one has to install the entire application on the Selenium Core as well as a web server to overcome the problem of same origin policy.

Selenium intro 7

So, In order to govern the same origin policy without the need of making a separate copy of Application under test on the Selenium Core, Selenium Remote Control was introduced. While Jason Huggins was demoing Selenium, another fellow colleague at ThoughtWorks named Paul Hammant suggested a workaround of same origin policy and a tool that can be wired up with a programming language of our choice. Thus Selenium RC came into existence.

Unlike Selenium IDE, Selenium RC supports a wide range of browsers and platforms.

Selenium intro 8

Workflow Description

  • The user creates a test script in the desired programming language.
  • For every programming language, there is a designated client library.
  • Client library deports the test commands to the selenium server.
  • Selenium server deciphers and converts the test commands into JavaScript commands and sends them to the browser.
  • Browser executes the commands using Selenium Core and sends the results back to the Selenium server
  • Selenium server delivers the test results to the client library.

There are a few pre-requisites to be in place before creating Selenium RC scripts:

  • A Programming Language – Java, C#, Python etc.
  • An Integrated Development Environment –Eclipse, Netbeans etc.
  • A Testing Framework (optional) – JUnit, TestNG etc.
  • And Selenium RC setup off course

Advantages and Disadvantages of Selenium RC:

Please refer the following figure to more about the advantages and disadvantages of Selenium RC.

(Click on image for enlarged view)

Selenium intro 9

Selenium Grid

With selenium RC, the life of a tester has always been positive and favourable until the emerging trends raised a demand to execute the same or different test scripts on multiple platforms and browsers concurrently so as to achieve distributed test execution, testing under different environments and saving execution time remarkably. Thus, catering these requirements Selenium Grid was brought into the picture.

Selenium Grid was introduced by Pat Lightbody in order to address the need for executing the test suites on multiple platforms simultaneously.

Selenium WebDriver

Selenium WebDriver was created by yet another engineer at ThoughtWorks named Simon Stewart in the year 2006. WebDriver is also a web-based testing tool with a subtle difference with Selenium RC. Since the tool was built on the fundamental where an isolated client was created for each of the web browsers; no JavaScript Heavy lifting was required. This led to a compatibility analysis between Selenium RC and WebDriver. As a result of which a more powerful automated testing tool was developed called Selenium 2.

WebDriver is clean and purely an object-oriented framework. It utilizes the browser’s native compatibility to automation without using any peripheral entity. With the increasing demand, it has gained a large popularity and user-base.

Advantages and Disadvantages of Selenium WebDriver:

Refer the following figure for more information about the advantages and disadvantages of WebDriver.

(Click on image for enlarged view)

Selenium intro 10

Selenium 3

Selenium 3 is an advanced version of Selenium 2. It is a tool which is focused on automation of mobile and web applications. Stating that it supports mobile testing, we mean to say that the WebDriver API has been extended to address the needs of mobile application testing. The tool is expected to be launched soon in the market.

Environment and Technology Stack

With the advent and addition of each new tool in the Selenium suite, environments and technologies become more compatible. Here is an exhaustive list of environments and technologies supported by Selenium Tools.

Supported Browsers

Selenium intro 11

Supported Programming Languages

Selenium intro 12

Supported Operating Systems

Selenium intro 13

Supported Testing Frameworks

Selenium intro 14

Conclusion

In this tutorial, we tried to make you acquainted with the Selenium suite describing its various components, usages, and their advantages over each other.

Here are the cruxes of this article.

  • Selenium is a suite of several automated testing tools, each of them catering to different testing needs.
  • All these tools fall under the same umbrella of an open source category and support only web-based testing.
  • Selenium suite is comprised of 4 basic components; Selenium IDE, Selenium RC, WebDriver, and Selenium Grid.
  • The user is expected to choose wisely the right Selenium tool for his/her needs.
  • Selenium IDE is distributed as a Firefox plug-in and it is easier to install and use. The user is not required to possess prior programming knowledge. Selenium IDE is an ideal tool for a naive user.
  • Selenium RC is a server that allows a user to create test scripts in the desired programming language. It also allows executing test scripts within the large spectrum of browsers.
  • Selenium Grid brings out an additional feature to Selenium RC by distributing its test script on different platforms and browsers at the same time for execution, thus implementing the master-slave architecture.
  • WebDriver is a different tool altogether that has various advantages over Selenium RC. The fusion of Selenium RC and WebDriver is also known as Selenium 2. WebDriver directly communicates with the web browser and uses its native compatibility to automate.
  • Selenium 3 is the most anticipated inclusion in the Selenium suite which is yet to be launched in the market. Selenium 3 strongly encourages mobile testing.

In the next tutorial, we would be discussing the basics of Selenium IDE, its installation, and the features. We would also have a look at the basic terminologies and nomenclatures of Selenium IDE.

Next Selenium Tutorial: Introduction to Selenium IDE and its installation with detailed study on all the features of Selenium IDE (coming soon)

A remark for the readers: Our next tutorial of the Selenium training series is in the processing mode, meanwhile you can explore a bit about the Selenium suite and its tools by looking at its official website.

About the authors:
Shruti Shrivastava (our main author for this series), Amaresh Dhal, and Pallavi Sharma are helping us to bring this series to our readers.

Shruti is currently working as a Senior Test Engineer with 4+ years of automation testing experience. She is an ISTQB certified professional and also an active blogger, always interested in solving testing-related problems.

Amaresh is having 5+ years of manual and automation testing experience with expertise in WebDriver, Grid, and frameworks.

Pallavi Sharma has 7+ years rich experience of working in automation testing field with hands-on Selenium and JAVA experience.

Stay tuned and share your views, comments, and knowledge to help us, groom. Also, let us know if you think that we missed out something so that we can include them in our subsequent tutorials.

197 Comments on “Selenium Tutorials 31+ Best Free Selenium Training Tutorials

  1. How to create test case for login page in selenium ide if there exists captcha code.

  2. Hi Vijay, I need your help in setting up Selenium Webdriver environment in my system. My both system has Windows 7 & 8 and Java 32 bit. Please help me with the right eclipse version which can identify selenium commands. I tried many of the eclipse version which throws typical error in sendkeys command. Thanks for such a nice tutorial which I am trying to follow and learn.

  3. Thanks for this article post. It is really useful introduction for beginners.

  4. Awesome tutorial but given some examples with webdrivers

  5. Thanks for the article!
    It’s really gonna help me.
    Thanks.

  6. what are all the basic things i should have to know before starting selenium tutorial?
    can u pls tell me

  7. Good and useful article.

  8. Hi,
    I am unable to automate the Authentication popup. I am doing this for the Dynamic CRM. Please help me out with this.

  9. Very nice article to start . Congrats Shruti Shrivastava for writing in such a nice way with 4 years of experience… keep writing…. where can we follow you,, share your twitter blog etc

  10. hello all of you
    if any of you project on selenium please mail it to me to given below address
    prem0999@gmail.com

  11. Thanks to all Software Testing Help team to presents a selenium tutorial series.
    Its a very useful tutorial for a beginner to learn from scratch.
    Thanks!

  12. wat does High ROI mean?

  13. nice article ,,
    its helpfull to me..thanks

  14. i want good job pls help

  15. hi
    is this the window to communicate during a training session

  16. Thanks for the very informative article.

  17. Hi,

    My question is on whether to chose selenium as a career or QTP ?? I have 12 years of Managing a business development of financial services in India. Got a chance to be in US and want to settle here… Confused on choosing selenium or QTP..?? I dont have any experience in IT. I have a year to set my career here. Kindly advice

  18. Thanks for info, everything about selenium is available at one source.

  19. I would like to get training on Selenium. So, can you please let me know what will be training duration and fees for the same?

  20. Hi, Can you any one tell me “Free automation tool” is available in Market for Mobile application (iOS & Android apps)?

  21. im new in selenium web drive testing, so briefly explain that concept.

  22. I this tutorial available in PDF format?
    It’ll be great if it is..

  23. @ spandana ROI means Return on Investment

  24. Thanks a lot for this much awaited tutorial. Nicely written so easy to understand. Great job Team STH.

  25. Thank u for your dedication towards us.

  26. Very nicely explained that can be easily understood.

  27. Thank you so much!

  28. Good content

  29. I am working on a automation script to have it working on both browsers (Firefox and Chrome)

    I have located element individually in both browsers as well with there respective tools (For ex: Identified relative xpath for an element which is common and element is located in both the browsers).

    Now the issue is that the scripts are working in firefox but the same set of scripts are not working in chrome. due to its not able to identify elements

    While running in chrome it gives below message:
    “Element is not click-able at point(x,y) ”

    I have tried with the methods to overcome this kind of issues by searching in google and relevant sites but those are not working. So, if anyone knows regarding this kind of issues and probable methods to resolve then request to please let me know.

  30. does the selenium support the all the language like .net or VB if have to test the application and which selenium tools will be usedful

  31. thanku guys …. Great Job

  32. Thanks u r doing nice social work.

  33. does the selenium support the all the language like .net or VB if have to test the application and which selenium tools will be usedful

  34. Urgent requirement for selenium trainers both offline & online

    HI Guys!

    thanks for the all the information provided above , some of the information is really helpful.

    Note:- There is a urgent requirement for selenium trainer for both offline & online classes in bangalore.if any one are interested can contact me @ rajkconsultancy or 9164530165

  35. It was Clear and Straight to the Point, I’m looking fwd to learn from the rest of it !! :)

  36. Thank you very much. This series is very helpful.

  37. Hi There,

    Can you explain what is happening in real time agile methodology in company. How they are implement agile and from bigining to project realise.

  38. Hi

    I have around 3 years of exp in java dev and i do manual testing as well ,as i am working on the mantinace project so i do frequents changes and do unit testing now i am finding more interest in testing means i have to develop my career in testing …..please give some direction…

  39. Please share knowledge about how to test fields like Editor,Drag&Drop & Panel in Selenium.

  40. You Guys Really ROCK ,OMG , such a useful content for any one , who is confused from where to start on Selenium.
    Stupendous Job . Great work . I can’t stop myself without praising .KUDOS the whole softwaretestinghelp, infact i have been following this site since lang.

  41. hi,

    i want to learn selenium testing.

    i don’t no any programming language.

    is it possible to learn selenium

  42. I have read your post and very much pleased to know about Field Automation Software.
    I will keep your tips in mind in my future business solutions. Also find more info about it, visit :
    jadian.com

  43. thanx…..very much.but please can u mail me this selenium material please.

  44. Can i have this selenium tutorial fully in pdf format. thanks

  45. Why should we use System.SetProperty for Chrome and IE browsers?

  46. Hi,

    I am a beginner . Can you please explain more on ‘Selenium has active repository developments’

  47. Hi,

    I am a beginner . Can you please explain more on ‘Selenium has active repository developments’

  48. hi i m using firefox 43 version and selenium 2.53 version but it did not respond

    error show.

    noexception connection.

    please tell me which selenium version is suitable for firefox version.

  49. Hi jieee,

    Nice tutorials ,super jieee, continue your services.. easily understand concepts..THank U jieee Magizhichi

Leave a Comment