DEV Community

Cover image for Task-15-RM-17
Narasimha Varman J
Narasimha Varman J

Posted on

Task-15-RM-17

Selenium
Selenium is an open source framework used to automate the web applications across various browsers.

Selenium is primarily developed using JavaScript.

It has a combination of Tools like;
1) Selenium IDE
a. Selenium IDE is a browser extension for Firefox or Chrome that automates functionality.
b. IDE records user interactions on the browser and exports them as a reusable script.

2) Selenium RC
a. Selenium Remote Control is a server written in Java that makes provision for writing application tests in various programming languages like Java, C#, Perl, PHP, Python, etc.
b. The RC server accepts commands from the user program and passes them to the browser as Selenium-Core JavaScript commands.

3) Selenium WebDriver
a. Selenium WebDriver was the first cross-platform testing framework that could configure and control the browsers on the OS level.
b. It serves as a programming interface to create and run test cases.

4) Selenium Grid
a. Selenium Grid allows the parallel execution of tests on different browsers and different operating systems.
b. Grid is exceptionally flexible and integrates with other suite components for simultaneous execution.
c. The Grid consists of a hub connected to several nodes.
d. It receives the test to be executed along with information about the operating system and browser to be run on and picks a node that conforms to the requirements (browser and platform), passing the test to that node.
e. The node now runs the browser and executes the selenium commands within it.
f. Selenium Grid tests across multiple instances and machines at once.

These tools offer a single interface for inputting test scripts in a number of popular coding languages like Ruby, Java, Python, C#, JavaScript, Perl. It has the ability to create automated tests from these scripts and run them locally or remotely on a range of browsers.

Selenium automation uses the Selenium toolbox to run tests across different browser instances.

Tests that can be performed are:
a) System testing
b) End-to-end testing
c) Compatibility testing
d) Regression testing
e) Integration testing
f) Performance testing

Advantages of Selenium Testing
i) Selenium has proven to be accurate with results thus making it extremely reliable
ii) selenium is open-source and anybody willing to learn testing can begin at no cost
iii) Selenium supports a broad spectrum of programming languages like Python, PHP, Perl, and Ruby
iv) Selenium supports various browsers like Chrome, Firefox, and Opera, among others
v) Selenium is easy to implement and doesn’t require the engineer to have in-depth knowledge of the tool
vi) Selenium has plenty of re-usability and add-ons

Disadvantages of Selenium Testing
i) Limited support for desktop applications
ii) Lack of built-in reporting
iii) Limited support for mobile testing
iv) Lack of Synchronization
v) Requires 3rd Party Tool Bindings
vi) Slow Test Development Due to the Script-Based Approach
vii) Inability to Integrate Continuous Testing / In-sprint Automation

Top comments (0)