Beginners, start here

In this website, we will treat our readers as having zero prior knowledge before the start of any topic. We will expect them to acquire knowledge gradually as they follow the tutorial and will take them on a journey from beginner to expert level.

There are also some Selenium articles that are not part of the series of tutorials. They are some advanced stuff that you should read once you get comfortable with Selenium. Or if you are comfortable with selenium and want to go deeper you can check them.

All Selenium tutorials in this website provide code examples in two languages – Java & Python

We are following a certain format in our tutorials to make it more interactive as well as helpful. At certain points, we assume a reader will have certain doubts. We raise those doubt pretending as if a reader is asking that question and then we answer it there only.

The questions are formatted like this sentence.

Q&As are a very important part of this Website. I would strongly recommend you not to skip that part. Also, if you have other doubts related to the topics you can ask in comments. If we find a number of people asking similar doubts we’ll include them in the tutorial. Otherwise, we’ll answer them in the comments section itself.

Assignments are also given periodically to help readers grasp the concept and evaluate their own understanding.

Humor and sarcasm will find its place more often on this website. If you are a serious bookworm, there are better websites over the Internet.

That is fine. But I have heard Selenium IDE, Selenium RC, Selenium Grid and the newest one – Selenium WebDriver. What are they?

Good question. Well, whatever names you just spelled they are different tools initially developed by different person(s)/organisations and later donated to the Selenium community. Each has its pros and cons and that makes them special.

Let me take you on a brief tour of Selenium’s history. 

Selenium Core was initially developed in 2004 by Jason Huggins while testing an internal application at ThoughtWorks. It was a JavaScript library that could interact with the web page. It helped him automatically rerun tests against multiple browsers. Another ThoughtWorker Paul Hammant addressed some of the limitations of Selenium Core by introducing Selenium RemoteControl.

Selenium RC was a big success as one can control a browser from the language of one’s choice. In 2006, Simon Stewart of Google started working on a testing tool that could speak directly to the browser using the ‘native’ method for the browser and operating system. It led the way for WebDriver.

In 2009, two of the different successful tools merged into one by giving the Selenium community – ‘Selenium 2‘. Simon Stewart gave the reason for the merger as following (source – seleniumhq.org) –

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.

 You were supposed to tell about Selenium IDE as well.

Is it? Well, in 2006 Shinya Kasatani of Japan donated an IDE to Selenium community that is now known as Selenium IDE. It had a feature that could record user interactions on a web page and then replay it. One could also export user-interactions in different formats like HTML or other popular languages.

Thanks for taking me to the past of the Selenium Project but which tool we will cover here.

As per the official Selenium official website www.seleniumhq.org – Selenium WebDriver is the successor of Selenium Remote Control which has been officially deprecated.

We will not cover Selenium RC here. We will learn Selenium WebDriver, which is the latest one. Selenium Grid is taken over by RemoteWebDriver. We will cover that too.

Whenever we say Selenium on this website, we would mean Selenium WebDriver, unless explicitly specified.  

OMG, Selenium. I am not from the development background. I do not have hands on experience with programming.

My dear, there are several languages in which you can write code for Selenium – Java, Python, C#, JavaScript, Perl, Ruby, PHP, etc. And to get started, you won’t have to be a gold medalist in a programming language. In this blog, we just expect you to have a basic familiarity with any programming language of your choice and the thirst and curiosity to learn.

All Selenium tutorials in this website provide code examples in two languages – Java & Python

If you want to learn Selenium with Java and you have absolutely no (or very very little) idea of Java, I would strongly suggest you go through a basic Java course first, before starting your Selenium journey.

Huh, Selenium. It is just an automation testing tool. I am not a tester.

No, you are wrong. As per Selenium official website seleniumhq.org) –
Selenium automates browsers. That’s it! What you do with that power is entirely up to you. Primarily, it is for automating web applications for testing purposes but is certainly not limited to just that. Boring web-based administration tasks can (and should!) also be automated as well.
So there are several tasks you can achieve with Selenium. All it depends on your needs and IQ level.

Hell QTP. Selenium can automate anything.

Wait, buddy. Selenium just drives Web Browsers. That is it. QTP can automate Windows applications, mainframes, WPF and lot more.

Hey Dude, I am completely new to Selenium or Test Automation. Guide Me.

If you are completely new to Selenium or Test Automation please don’t jump here and there.   Please follow the following advises if you really want to learn.

  • You need to start from the beginning and take baby steps. 
  • Start from the very First Tutorial and once you understand it properly then only go to the next tutorial.

If you are not confused, you are not understanding.

  • Please leave comments under the same tutorial if you have any queries related to that tutorial.
  • If you have any specific issue with Selenium please post your query under ‘Discussion Forum’ menu-bar. TMS is an active community and if I don’t get bandwidth, someone else will help you there for sure. As you are also part of TMS, I would appreciate it if you can also help other readers resolve their issues. However please be specific and detailed at the same time.
  • Practice, practice, and practice. Do the assignments and don’t hesitate to interact with me through ‘Comments’.

All the best guys!!!

Start your Selenium journey by clicking here