Testing is a crucial part of the Software development life cycle. It is carried out in order to find bugs in the developed product before it reaches the customer. In order to simplify the process, there are various ways that have been launched. Testing can be carried out using automation tools.
One such Important tool is Selenium which is used to carry out end to end testing through automation. The basic language used to automate this tool is Java.
There are various other automation tools such as Appium and HP’s QTP. These tools are used to test Desktop and mobile applications whereas web applications require a tool like Selenium.
Advantages of Selenium as an automation tool
The tool helps in testing the application with least time consumption
- It is an open source which needs Java knowledge
- The testing done using selenium gives the most accurate results
- It works on all the browsers such as FireFox, Chrome, Opera and many Others
Advances in Selenium
There are various advances in selenium that have been made such as Selenium IDE, Selenium Remote Control , Selenium Webdriver and Selenium Grid. All these versions have come into existence in order to overcome the shortcoming faced by the users.
Although selenium has a few disadvantages when compared to other automation tools, it is still considered to be the best due to its flexibility
When should I use Selenium IDE?
Selenium IDE allows users to edit, record and debug the tests. The main purpose to create Selenium IDE is to increase the speed of test case creation. It helps the users to take record quickly and play back tests in the actual environment that will run in. The interface supports multiple extensions and it is user-friendly.
When should I use a Selenium Webdriver?
Selenium Webdriver allows users to work in Chrome,IE,Opera,Firefox,Safari and many other browsers.
- It works across multiple OS and Cross browser compatibility.
- It supports Multiple Frameworks like Ant, Maven,TestNG.
- A major benefit of automation testing with Selenium WebDriver is that you don’t need to start any server prior to testing.
How do I check the selenium version?
- Open TOOLS menu.
- Open NuGet Package Manager.
- Manage NuGet Packages for Solution.
- Click on the INSTALLED tab.
- Scroll down to Selenium. WebDriver.
Version is on the right.
Latest version in Selenium
Selenium has come a long way and the latest version is the Selenium 4.0 Alpha. This is the recently updated version which has proved to be beneficial to testers. The major changes made in Selenium Alpha 4 version is as follows
Selenium 4 IDE TNG
Selenium IDE is a record and playback feature which was not available for chrome but is available now.a plugin will allow you to run Selenium on any browser. Also, a user can now declare their own locator strategy.
There is also a new CLI runner which is based on Node JS, instead of the old HTML based CLI runner.It has the ability to execute test cases in parallel and provide information like passed and failed test cases, the time required, etc.
The new IDE runner is completely based on WebDriver.
Better window and tab management
Selenium 4.0 has now allowed the testers to work on two windows at the same time which was not allowed before.
We can run two different tabs in one Chrome browser session.
Selenium 4 Alpha has also upgraded the locators where we can find locators relative to other locators
Full Screen screenshot
Selenium did not permit to take the full page screenshot which is now possible on firefox browser. The screenshot of an entire page can be taken.
Impacts of Selenium 4.0?
In addition to these new capabilities, arriving of Selenium 4 may require few changes in your existing selenium 2.X/3.X tests,
- The getPosition & getSize methods were replaced by the getRect method and the setPosition & setSize methods were replaced by setRect methods.
- Now you can configure the location of your Safari driver using the “webdriver.safari.driver” system property.
- Element screenshotting is possible in Selenium 4.
- Fullscreen and minimize methods have been added, so that the driver window can now be full screen or minimized and all window manipulation commands are now supported.
- Added driver.switchTo().parentFrame() – We can use it to go from the child frame to the parent frame directly.
- Changes added to Chrome driver –
- sendDevToolsCommand() – The sendDevToolsCommand() method sends an arbitrary dev tools command to the browser and returns a promise that will be resolved when the command has finished.
- setDownloadPath() – The setDownloadPath() method sends a DevTools command to change Chrome’s download directory and returns a promise that will be resolved when the command has finished.
- Changes to Firefox driver – Added installAddon(path) method to install a new addon within the current session. This function will return an “id” that can be used to uninstall the addon using uninstallAddon() method.
- Options class now extends Capabilities class for Chrome, Firefox, IE & Safari.
- Changes wrt to Errors such as Added ElementClickInterceptedError, InsecureCertificateError & Removed ElementNotVisibleError
- Removed the firefox.profile class. All its functionality is now provided directly by firefox.options.
What are the things we cannot automate using selenium?
- Bitmap comparison is not possible using Selenium WebDriver.
- Automating Captcha is not possible using Selenium WebDriver.
- We can not read bar code using Selenium WebDriver.
- We can not automate OTP submission.