Handling Radio Buttons and Checkboxes Using Selenium Webdriver
Handling Radio Buttons and Checkboxes Using Selenium Webdriver
Selenium Webdriver
Giridhar B S | Automation , Selenium , Software Testing | Software Testing | 0 Comments | Return
The main difference between Radio button and Checkbox is that, using radio button we will be able
to select only one option from the options available. whereas using checkbox, we can select multiple
options.
When we inspect a Radio button or a Checkbox, HTML code looks as below
Using Click() method in Selenium we can perform the action on the Radio button and on Checkbox.
Example:
Webelement maleRadioBtn = driver.findElement (By. id ("gender-male"));
maleRadioBtn.click();
Before performing the click even on the Radio buttons or checkboxes we will have to verify
If Radio button or Checkbox is displayed on the webpage
If Radio button or Checkbox is enabled on the webpage
Check the default selection of the Radio button or Checkbox
Above mentioined verification can be done using predefined menthods in Selenium
isDisplayed()
isEnabled()
isSelected()
isDisplayed()
WebElement maleRadioBtn = driver.findElement (By.id("gender-male"));
maleRadioBtn.isDisplayed // this returns a Boolean value, if it returns true then said radio button is
present on the webpage or it returns False.
isEnabled()
maleRadioBtn.isEnabled() // this returns a Boolean value, if it returns true then said radio button is
enabled on the webpage or it returns False
isSelected()
maleRadioBtn.isSelected() // this returns a Boolean value, if it returns true then said radio button is
selected or it returns False
NOTE : The same menthods can be used while working with Checkboxes.
Below is the snippet of the code for Radio buttons
package com.explorations.scripts;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
public class HandlingRadioButton
{
public static void main (String args[])
{
FirefoxDriver driver = new FirefoxDriver();
driver.get("http://sites.ecanarys.com/Nopcommercesite/");
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(10, TimeUnit. SECONDS);
//Clicking on the Register link on the Home page
driver.findElement(By.linkText("Register")).click();
//Identifying Male radio button using its ID as an locator
WebElement maleRadioBtn = driver.findElement(By.id("gender-male"));
//Checking if the Male Radio button is displayed on the Webpage and printing the status
boolean radioBtnIsDisplayed = maleRadioBtn.isDisplayed();
System.out.println("Is Male radio button displayed: "+radioBtnIsDisplayed);
//Checking if the Male Radio button is enabled on the webpage and printing the status
boolean radioBtnIsEnabled = maleRadioBtn.isEnabled();
System.out.println("Is Male radio button enabled: "+radioBtnIsEnabled);
//Checking the default radio button selection status
boolean radioBtnIsSelected = maleRadioBtn.isSelected();
System.out.println("Default Radio button selection Status: "+radioBtnIsSelected);
//Selecting male radio button
maleRadioBtn.click();
//rechecking the male radio button selection status and printing it..
boolean radioBtnNewSelectionStatus = maleRadioBtn.isSelected();
System.out.println("Male radio Selection status after perform click() event:
"+radioBtnNewSelectionStatus);
driver.quit();
}
}
Below is the snippet of the code for Checkboxes
package com.explorations.scripts;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
public class HandlingCheckbox {
public static void main(String args[])
{
FirefoxDriver driver = new FirefoxDriver();
driver.get("http://sites.ecanarys.com/Nopcommercesite");
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(10, TimeUnit. SECONDS);
//Clicking on the Register link on the Home page
driver.findElement(By.linkText("Register")).click();
//Identifying Terms and Condition checkbox using its ID as an locator
WebElement tcCheckbox = driver.findElement(By.id("accept-privacy-policy"));
//Checking if the Terms and Condition checkbox is displayed on the Webpage and printing
its status
boolean tcCheckIsDisplayed = tcCheckbox.isDisplayed();
System.out.println("Is Terms and condition checkbox displayed: "+tcCheckIsDisplayed);
//Checking if the Terms and Condition checkbox is enabled on the webpage and printing its
status
boolean tcCheckboxIsEnabled = tcCheckbox.isEnabled();
System.out.println("Is Terms and condition checkbox enabled: "+tcCheckboxIsEnabled);
//Checking the default selection status of Terms and Condition checkbox
boolean tcCheckboxIsSelected = tcCheckbox.isSelected();
System.out.println("Default Terms and Condition checkbox status:
"+tcCheckboxIsSelected);
//Selecting the Terms and conditions checkbox
tcCheckbox.click();
//rechecking the Terms and Condition checkbox status and priting its status
boolean tcCheckboxNewStatus = tcCheckbox.isSelected();
System.out.println("Terms and Condition checkbox status after perform click() event:
"+tcCheckboxNewStatus);
driver.quit();
}
}