Mastering Selenium: Empowering Software Testing with Automation

 

Selenium is a popular and widely used automation testing tool for web applications. It provides a framework for automating web browsers and is mainly used for testing web applications.

1.     Selenium is an open-source software testing framework used for automating web browsers.

2.     It provides a set of tools and libraries to interact with web elements and perform actions like clicking buttons, filling forms, and validating results on web pages.

3.     Selenium consists of several components that work together to automate web testing:

a.      Selenium WebDriver: This is the core component that allows testers to automate interactions with web browsers. It provides a programming interface to create test scripts in various programming languages such as Java, Python, C#, etc.

b.     Selenium IDE (Integrated Development Environment): A record-and-playback tool for creating test cases without writing code. It's available as a browser extension.

c.      Selenium Grid: A tool for running tests on multiple machines and browsers in parallel, facilitating cross-browser testing.

d.     Selenium RC (Remote Control): An older version of Selenium that has been largely replaced by WebDriver. It allows remote control of browsers via JavaScript.

4.     Selenium WebDriver supports a wide range of web browsers, including Chrome, Firefox, Safari, Edge, and Internet Explorer.

5.     Selenium WebDriver supports multiple programming languages, such as Java, Python, C#, Ruby, and JavaScript, making it versatile and accessible to a wide range of developers and testers. 

Advantages of the Selenium tool:

1.    Open Source: Selenium is freely available, which reduces testing costs.

2.    Cross-Browser Testing: It supports multiple browsers, allowing testers to ensure compatibility across different browsers.

3.    Cross-Platform Testing: Selenium supports multiple operating systems, making it suitable for testing on various platforms.

4.    Support for Various Languages: Test scripts can be written in multiple programming languages, providing flexibility.

5.    Large Community: Selenium has a large and active user community, which means extensive documentation, tutorials, and support.

 

To work with the Selenium automation tool we need an IDE and the required browser driver

You can download Eclipse IDE for JAVA from here;

Eclipse IDE for JAVA

You can download Chrome's latest driver from here:

First, check the version of your Chrome and download it accordingly from the given link

Chrome Driver link



If you don’t find the latest Chrome driver then follow the following steps:

1.     Go to the same link mentioned above.

2.     Under the current release click on  Chrome for Testing availability dashboard.

3.     After clicking you will see the following output;



4.     Click on the stable and you will be redirected to a new page like given below:

5.     From here you can select the required link and paste it in the search bar, a zip file of the Chrome driver will be downloaded.

Follow the following steps to set the eclipse:

Step 1: Create a new Java project



Step 2: Give the name of the project, click next, and finish.



Step 3: Left-click on the new project created and go to Build PathàConfigure build path. You will see the following output:



Step 4: Click on the classpath and select Add External Jars

You can download the required files from this link:

External Selenium files

Step 5: Browse the above-downloaded files on your PC and select all the files, press apply, and close. You will see the following output:



Step 6: Now right-click on the src folder and create a new package, in that package make a Class file. Enter the correct class name and select the public static void main option to get the basic template.




Step 7: Write a simple code to test the working of the selenium driver.

Example: Given code opens the chrome. Gets the Google website and fetches its title.

You can access our code from here: Google_site_testing_code

Step 8: Make sure you add your Chrome driver path correctly as shown below:



If it shows like this, just delete the module-info.java file.




Step 9: Run the code and you will see the following output:




You can refer following steps to understand the code.

Case 1: Testing Google Home Page Title

To verify that the Google home page loads successfully and that the page title matches the expected value:

1.     We have configured Selenium to use the Chrome web driver (webdriver.chrome.driver) and provided the path to the ChromeDriver executable.

2.     We have created a ChromeDriver instance, which is used to automate interactions with the Chrome browser.

3.     The driver.get("https://www.google.com"); statement instructs the WebDriver to open the Google website.

4.     Using driver.getTitle(), we extract the title of the current webpage.

5.     At the end, we compare the retrieved title with the expected value "Google" using an if-else statement. If they match, print "Test case pass"; otherwise, print "Test case fail."

 

You can follow the above steps for performing the case 2 program. Make the required changes in the above code or you can refer to our program:

 Case 2 program

 Case 2: Testing Facebook Login Page Elements

To test the working of the Facebook login page, including the visibility, enablement, and input capability of the email field:

1.     Similar to the first case, configure Selenium to use the Chrome web driver.

2.     Again, create a ChromeDriver instance for browser automation.

3.     In the next step, navigate to the Facebook login page by calling driver.get("https://www.facebook.com");

4.     driver.findElement(By.id("email")).isDisplayed(); checks if the email input field is displayed on the page and stores the result in boolean variable 'a.'

5.     driver.findElement(By.id("email")).isEnabled(); checks if the email input field is enabled (can be interacted with) and stores the result in boolean variable 'b.'

6.     driver.findElement(By.id("email")).clear(); clears any existing text in the email input field.

7.     driver.findElement(By.id("email")).sendKeys("Aswini"); enters the text "Aswini" into the email input field.

driver.findElement(By.id("email")).getAttribute("value");

 

In conclusion, mastering Selenium and its powerful WebDriver is crucial to empowering software testing with automation. It opens up endless possibilities for testers to streamline their processes, improve productivity, and deliver high-quality applications to end-users.

 



Comments

Popular posts from this blog

Machine Learning

Blockchain Experiments

java exp