Alerts in Selenium

FREE Online Courses: Knowledge Awaits – Click for Free Access!

Alerts are a common feature in web applications. They are used to display important messages, warnings, or errors to the user. When testing a web application, it’s important to be able to handle alerts to ensure that the application is functioning correctly. In this article, we will discuss how to handle alerts in Selenium WebDriver.

What are Alerts in Selenium?

An alert is a pop-up window that appears on a web page to display a message, warning, or error. Alerts are usually triggered by user actions, such as clicking a button or submitting a form. They can also be triggered by the application itself, such as when a validation error occurs.

Types of alerts in Selenium:

1. Simple Alert – A simple alert has only one button to dismiss it.

simple alert

2. Confirmation Alert – A confirmation alert has two buttons, OK and Cancel, and requires the user to choose one.

confirmation alert

3. Prompt Alert – A prompt alert has two buttons, OK and Cancel, and a text input field that allows the user to enter a value.

prompt alert

Handling Alerts in Selenium WebDriver

Selenium WebDriver provides methods to handle alerts. These methods allow you to interact with the alert and retrieve its message or input value. The following are the methods provided by the WebDriver API for handling alerts:

1. switchTo().alert() – This method switches the WebDriver focus to the alert.

2. accept() – This method clicks the OK button on a confirmation or simple alert.

3. dismiss() – This method clicks the Cancel button on a confirmation alert.

4. sendKeys() – This method enters a value into a prompt alert’s input field.

5. getText() – This method retrieves the text message displayed in an alert.

Let’s take a closer look at each of these methods and how they can be used to handle alerts in Selenium WebDriver.

1. switchTo().alert()

The first step in handling an alert is to switch the WebDriver focus to the alert. This is done using the switchTo().alert() method. This method returns an Alert object that represents the alert window.

// Switch to the alert
Alert alert = driver.switchTo().alert();

2. accept()

The accept() method is used to click the OK button on a confirmation or simple alert. This method can be used to dismiss the alert and continue with the test.

// Click the OK button
alert.accept();

3. dismiss()

To click the Cancel button on a confirmation alert, use the dismiss() method. This method can be used to cancel an action and continue with the test.

// Click the Cancel button
alert.dismiss();

4. sendKeys()

The sendKeys() method is used to enter a value into a prompt alert’s input field. This method can be used to simulate user input and test the application’s response.

// Enter a value into the prompt alert's input field
alert.sendKeys("Test Value");

5. getText()

The getText() method is used to retrieve the text message displayed in an alert. This method can be used to verify the content of an alert and ensure that it matches the expected value.

// Get the text message displayed in the alert
String alertMessage = alert.getText();

Selenium Alert Example

Let’s look at an example of how to handle an alert in Selenium WebDriver. Suppose we have a web application that displays a simple alert when a button is clicked. The alert has a message that says “Hello World!” and an OK button to dismiss it. Here’s how we can handle this alert using Selenium WebDriver:

// Navigate to the web page
driver.get("https://www.example.com");

// Find the button and click it
WebElement button = driver.findElement(By.id("button"));
button.click();

// Switch to the alert
Alert alert = driver.switchTo().alert();

// Get the text message displayed in the alert
String alertMessage = alert.getText();

// Verify that the alert message matches the expected value
Assert.assertEquals("Hello World!", alertMessage);

// Click the OK button to dismiss the alert
alert.accept();

In this example, we first navigate to the web page and find the button using its ID. We then click the button to trigger the alert. Next, we switch the WebDriver focus to the alert using the switchTo().alert() method. We then use the getText() method to retrieve the alert message and verify that it matches the expected value using the Assert.assertEquals() method. Finally, we use the accept() method to click the OK button and dismiss the alert.

Conclusion

In this article, we have discussed how to handle alerts in Selenium WebDriver. We have seen that alerts are an important feature of web applications and that they can be handled using the switch ().alert() method provided by the WebDriver API. We have also seen that there are several methods available for interacting with alerts, such as accept(), dismiss(), sendKeys(), and getText(). By using these methods, you can ensure that your tests are able to handle alerts correctly and that your web application is functioning as expected.

Your 15 seconds will encourage us to work even harder
Please share your happy experience on Google

follow dataflair on YouTube

Leave a Reply

Your email address will not be published. Required fields are marked *