What is Selenium? Why do we use selenium for automation?
Tags: pat28, task15
Published: 2024-07-10 16:34:16

What is Selenium:
 >>>> Selenium is a automation tool used for web application testing. It is a popular open source testing tool. Selenium enables testers to write automated tests in various programming languages to test the functionality of web applications. It can be run in many different browsers and operating systems. It can be used to test the functionality of web applications on various browsers and operating systems. Selenium Software Testing is a great way to automate your web application testing.
**Components of Selenium
Selenium IDE:
Once the Selenium IDE is open, then you can start recording your tests by clicking on the "Record" button. Selenium will then begin recording all of your actions as you perform them in the browser.

Selenium WebDriver:
The Selenium WebDriver is an open-source tool used for automating web browser interaction from a user perspective. With it, you can write tests that simulate user interactions with a web application. It is available for many different programming languages, such as Java, C#, Python, and Perl.

Selenium Grid:
Selenium Grid is a crucial part of the overall Selenium testing suite and will enable you to execute your automated tests much faster. The Selenium Server is a part of Selenium Grid that can be installed locally on your device or hosted on a separate system/server.
Using Selenium for automation: The application testing can help you verify that your application is working correctly on different browsers and operating systems.
Testing is performed in several ways, including manual, automated, and performance testing. Automated testing is a popular approach for performing application testing, as it enables you to test your applications quickly and efficiently. Selenium Testing is a popular tool for automated testing, as it allows you to write tests in various programming languages and run them on many different browsers and operating systems.

Benefits of Selenium Testing:
⦁Efficient and accurate web application testing.
⦁The ability to test your web application on multiple browsers and operating systems.
⦁The ability to run more than one test at the same time.
The important things to keep in mind while writing Selenium tests:
⦁The goal of our selenium test is to find the bugs in your web application.
⦁your selenium test should be concise.
⦁You should only use the selenium web driver when you are sure about how to use the tools and scripts.

There are different types of Selenium tests that you can write. The most common types of selenium tests are

i.	Unit Tests
ii.	Functional Tests
iii.	Integration Tests
iv.	Regression Tests
v.	End-to-End Tests

**Unit Tests
  Unit Tests are the simplest type of Selenium tests. A Unit Test verifies that a single unit of code behaves as expected.

**Functional Test
  When writing a Functional Test, you will first need to identify the different areas of your web application that you want to test. Once you have selected these areas, you can create a test case for each one. Once your test cases are written, you can run them using the WebDriver. Open your browser and go to the page where your tests are located. Then, enter your test case into the browser's address bar and press "Enter." Your Functional Test should automatically run, and you will be able to see if the code under test behaved as expected.

**Integration Tests
  Integration Tests are used to test the integration between different parts of your web application. When writing an Integration Test, you should always keep in mind the following:
The goal of Integration Testing in Selenium is to find bugs in your web application that arise from integrating multiple components.
Your Integration Test should be short, and it should verify that all individual components work properly when integrated.
Regression Tests
Usually, regression suites include a huge number of test cases and it takes time and effort to execute them manually every time when a code change has been introduced. Hence almost every organization looks after automating regression test cases to reduce the time and effort. 
**End-to-End Tests:
  Once your test cases are written, you can run them using the WebDriver. Open your browser and go to the page where your tests are located. Then, enter your test case into the browser's address bar and press "Enter." Your End-to-End Test should automatically run, and you will be able to see if the code under test behaved as expected.

**Drawbacks of Selenium Automation Testing
a.High Test Maintenance
b.No Build-in Capabilities
c.No Reliable Tech Support
d.Learning Curve