What is Selenium?
Selenium was introduced in 2004 by Jason Huggins, it is an open-source Web UI automation testing suite. It supports automation across different browsers, platforms, and programming languages such as C#, Java, Python, etc.
- It can be easily deployed on Windows, Linux, Solaris, and Macintosh Operating Systems.
- It also provides support for different OS for mobile applications like iOS, Android, and Windows mobile.
Selenium consists of drivers specific to each language. Selenium Web driver is mostly used with C# and Java. You can write selenium test scripts in any of the supported programming languages and can run directly in most of the modern web browsers such as Google Chrome, Mozilla Firefox, Internet Explorer, Safari, etc.
- It's a free and open-source Web UI automation testing suite, you just need to download it and start using it.
- It has huge support for different languages like C#, Java, Python, Ruby, and many others.
- There is also a huge support for different browsers, it is a browser automation tool. So it's not only capable of a single browser like Internet Explorer, but it can also work on browsers like Safari, Chrome, Firefox, edge, etc.
- Selenium makes it easy to support cloud-based testing so you can use things like SauceLabs and BrowserStack to run your tests in the cloud.
Nothing is perfect in this world so as selenium web drive, it does have some disadvantages.
- The API to use the commands is a little bit tough to learn especially if you are starting to learn a language like C# or Java.
- The hardest thing about selenium web driver is the identification of elements. Selenium doesn't have any such tool to help you just hover over a browser page and see the elements, you actually have to inspect the HTML in order to know how to recognize an object.
- The final disadvantage of selecting a web driver is that it's only for browsers.
The Selenium framework officially supports the following browsers,
||54 and newer
||84 and newer
||6 and newer
||Opera Chromium / Presto
||10.5 and newer
||10 and newer