Selenium is free, but it's worth thousands
Overall Satisfaction with Selenium
First of all, let's point out that "Selenium" is a vague word. There are:
However, Selenium and WebDriver are not so strong on their own: They are weak on detecting Java applets and Flash elements and totally out of league when it comes to non-web elements. Fortunately, there are solutions to overcome such issues. For non-web elements, Java Robot or Python gtk is available. For modern Java applets that are based on swing elements, FEST is a useful tool to integrate with selenium to detect applet elements. Finally, Sikuli is an amazing library to locate elements based on their look (pixel by pixel), which is very useful to detect some Flash or Applet elements within GUI.
- "Selenium IDE" which is a simple plugin for Firefox, that has limited abilities to record and reply user actions along with using javascript snippets and parameterization.
- "WebDriver , AKA Selenium WD", is a package that can be as libraries to many programming languags such as Java, Ruby, Python and .net framework. Webdriver is way more powerful and flexible because you can use the programming language on your favor; For instance, you might want to use a database to read data as a data driven test, record results to another table, use Java robot to click on non-web elements or desktop windows, or even integrate Webdriver with headless browsers such as PhantomJS, that will help you to run the test in non-gui environments.
- Selenium Remote Control (RC) : This is a server-based selenium, being installed directly on web server and similar to WebDriver, can adopt various programming languages. In my opinion RC is getting obsolete and replaced with WebDriver except in special scenarios such as running multiple Webdriver Agents on client side as a Selenium Grid.
However, Selenium and WebDriver are not so strong on their own: They are weak on detecting Java applets and Flash elements and totally out of league when it comes to non-web elements. Fortunately, there are solutions to overcome such issues. For non-web elements, Java Robot or Python gtk is available. For modern Java applets that are based on swing elements, FEST is a useful tool to integrate with selenium to detect applet elements. Finally, Sikuli is an amazing library to locate elements based on their look (pixel by pixel), which is very useful to detect some Flash or Applet elements within GUI.
Pros
- Selenium Webdriver is very friendly with most browsers and operating systems
- It can be written in many languages such as Java, Python, Ruby, C#, Etc.
- Although it is free open source software, but there are very good documentations in support in web including stackoverflow and many forums and blogs.
Cons
- Recognize Adobe Flash and MS Silver Light elements without additional help
- Detect and locate Java applets ingredients
- Having the "Wait-till-Displayed" or "Wait-till-Present" as a built in Web Driver function instead of requirement for writing loops and defining expliccit wait, visiblewait, invisiblewait, etc.
- We created hundreds of Selenium scripts for automation, regression and monitoring. They helped us to save tons of money and detect/prevent many defects..
- Selenium doesn't need extensive training and expensive classes. Anyone with some programming background can start working with selenium ans master it in 6 months.
- We integrate our Selenium-TestNG testcases to our QA dashboard to show the organized results quickly and effectively.
HQ UFT, it is one of the best and has more abilities but it is too much expensive while Selenium is free.
SmartBear TestComplete, same reason as UFT.
Watir, it is a Selenium-like open source project but has less features and limited documentation.
SmartBear TestComplete, same reason as UFT.
Watir, it is a Selenium-like open source project but has less features and limited documentation.
Comments
Please log in to join the conversation