Task 15: What is selenium? Why do we use selenium for automation?
Tags: selenium, automation, beginners, python
Published: 2023-12-08 10:22:30


Selenium is a popular framework that allows developers to automate web applications. It is a powerful tool that can help improve the efficiency and accuracy of testing processes.
"Frameworks are a method of representing applications.".
Selenium supports several programming languages including C#, Ruby, Python, and Java.

Advantages of using selenium:
1. Language and framework support:
  *"Support for different programming languages and frameworks."
  *Selenium supports all major languages like Java, Python, JavaScript, C#, Ruby, and Pearl for software test automation. 
You can write your steps in any of these programming languages, and Selenium will convert it into a Selenium-compatible course in no time.

2. Open source availability
  *"It is a platform that is open-source, which means that it is accessible to anyone who wishes to use it."
  *Work can be saved here and used for other beneficial purposes.
The Selenium community is always willing to assist developers and software engineers in automating web browser capabilities and functionality.

3. Multi-browser support
   *"This software is compatible with several web browsers and can be used across various operating systems."
   *You must not write a script for every browser as just one script is required for all browsers.

4. Support across various operations
   *"The software's ease of implementation makes it user-friendly and simple to use."
   *Selenium is a highly profitable tool supporting and could work across different operating systems like Windows, Linux, Mac OS, Unix, etc.

5. Ease of Implementation
   *Improving the reusability and integration of CI/CD processes can streamline software development and deployment.
   *The Selenium automation framework is very easy to use as it provides a user-friendly interface 
that helps users create and execute test scripts easily and effectively. 
   *You can also watch while the test runs analyze detailed reports of the selenium test and take follow-up actions. 

6. Reusability and Integrations:
   *It is more flexible, and efficient, and can run numerous test cases, requiring less hardware usage.
   *The Selenium automation test used is usable and could be tested across multiple browsers and operating systems. 
Nevertheless, the twist is that Selenium isn’t an all-inclusive web automation testing tool. 
   *Therefore it requires third-party frameworks and add-ons for broadening the scope of testing.

7. Flexibility
   *Test management is very important in the testing life cycle, and it becomes easier and more efficient by using Selenium features like regrouping and retracting test cases. 
   *It helps developers and testers in quick changes to the code, reducing duplication, 
minimizing complications, and improving maintainability.

8. Parallel test execution and faster market launch
   *The main pillar of automated testing is saving time and effort. 
   *With the guidance of the Selenium grid, you can execute multiple tests in parallel and reduce the test execution time. 
   *With cloud rates for cross-browser testing, you can test across hundreds of browsers in parallel by using Selenium.

9. Less Hardware Usage
   *You will find that Selenium requires less hardware than other testing tools 
   *if you compare it with others when the focus automation tools like QTP, UFT, SilkTest, etc.

10. Easy to Learn and Use
    *Selenium scripts are not something like writing a hundred-page complex algorithm. 
    *Writing Selenium scripts is not more than writing a few courses for automating your website functionalities.  



 Selenium versions being used:
  *Selenium2
  *Selenium3

The current version is used in Selenium4.

The different components of selenium are:
  *Selenium Software is not just a single tool but a suite of software, 
  *Each piece caters to different Selenium QA testing needs of an organization. Here is the list of tools 

1. Selenium IDE(Integrated Development Environment)
 * "The framework is incredibly easy to use and doesn't require any knowledge of coding languages."
* This software is compatible with all operating systems and web browsers, including Internet Explorer, Microsoft Edge, Google Chrome, Safari, and Firefox.

2.Selenium RC(Remote Control)
* It supports all coding languages (e.g. Java, C#, Python, Ruby, and Perl) and browsers (Chrome, Edge, Internet Explorer, and Firefox) on the Windows operating system. The code is robust.

3. Selenium Webdriver
To use a certain programming language in designing your test case.
To test applications that are rich in AJAX-based functionalities.
To execute tests on the HtmlUnit browser.
To create customized test results.
Our platform supports multiple languages, browsers, and APIs.
In comparison to Selenium IDE and RC, Selenium WebDriver establishes direct communication with the web browsers.

4. Selenium Grid
"It is a combination of both Selenium Grid and Selenium RC."
"Parallel execution allows multiple browsers to run simultaneously."

Features:
1. Enables simultaneous running of tests in multiple browsers and environments.
2. Saves time enormously.
3. Utilizes the hub-and-nodes concept. The hub acts as a central source of Selenium commands to each node connected to it.