Bird
Raised Fist0
Selenium Javatesting~5 mins

Radio button handling in Selenium Java

Choose your learning style10 modes available
Introduction

Radio buttons let users pick one choice from many. Testing them ensures the right option is selected and works well.

When testing a form with options like gender or payment method.
When verifying only one radio button can be selected at a time.
When checking if the default radio button is correctly pre-selected.
When ensuring clicking a radio button changes the selection properly.
When validating form submission depends on the chosen radio button.
Syntax
Selenium Java
WebElement radioButton = driver.findElement(By.id("radioButtonId"));
radioButton.click();
boolean isSelected = radioButton.isSelected();

Use unique locators like id or name to find radio buttons.

Use isSelected() to check if a radio button is chosen.

Examples
Selects the 'male' radio button and checks if it is selected.
Selenium Java
WebElement maleOption = driver.findElement(By.id("male"));
maleOption.click();
boolean selected = maleOption.isSelected();
Finds all radio buttons with name 'gender' and clicks the one with value 'female'.
Selenium Java
List<WebElement> options = driver.findElements(By.name("gender"));
for (WebElement option : options) {
    if (option.getAttribute("value").equals("female")) {
        option.click();
        break;
    }
}
Sample Program

This test opens a page with two radio buttons, clicks each one, and checks if the selection updates correctly.

Selenium Java
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class RadioButtonTest {
    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver", "path/to/chromedriver");
        WebDriver driver = new ChromeDriver();
        try {
            driver.get("https://example.com/radio-form");

            WebElement option1 = driver.findElement(By.id("option1"));
            WebElement option2 = driver.findElement(By.id("option2"));

            // Click first radio button
            option1.click();

            // Assert option1 is selected
            if (!option1.isSelected()) {
                System.out.println("Test Failed: option1 should be selected.");
            } else {
                System.out.println("option1 is selected as expected.");
            }

            // Click second radio button
            option2.click();

            // Assert option2 is selected and option1 is not
            if (option2.isSelected() && !option1.isSelected()) {
                System.out.println("option2 is selected and option1 is not, as expected.");
            } else {
                System.out.println("Test Failed: Radio button selection did not update correctly.");
            }
        } finally {
            driver.quit();
        }
    }
}
OutputSuccess
Important Notes

Always wait for the page to load before interacting with radio buttons.

Use clear and unique locators to avoid selecting the wrong element.

Remember only one radio button in a group can be selected at a time.

Summary

Radio buttons let users select one option from many.

Use click() to select and isSelected() to check selection.

Test that selecting one radio button deselects others in the group.

Practice

(1/5)
1. What does the isSelected() method do when used on a radio button element in Selenium?
easy
A. Checks if the radio button is currently selected
B. Clicks the radio button to select it
C. Returns the text label of the radio button
D. Finds the radio button element on the page

Solution

  1. Step 1: Understand the purpose of isSelected()

    This method checks the current state of a radio button or checkbox to see if it is selected or not.
  2. Step 2: Differentiate from other methods

    click() selects the radio button, but isSelected() only checks selection status without changing it.
  3. Final Answer:

    Checks if the radio button is currently selected -> Option A
  4. Quick Check:

    isSelected() = Check selection status [OK]
Hint: Remember: isSelected() checks state, click() changes state [OK]
Common Mistakes:
  • Confusing isSelected() with click()
  • Expecting isSelected() to select the button
  • Using getText() to check selection
2. Which of the following is the correct way to select a radio button using Selenium WebDriver in Java?
easy
A. driver.findElement(By.id("option1")).isSelected();
B. driver.findElement(By.id("option1")).sendKeys("select");
C. driver.findElement(By.id("option1")).getText();
D. driver.findElement(By.id("option1")).click();

Solution

  1. Step 1: Identify the method to select a radio button

    To select a radio button, you use the click() method on the WebElement.
  2. Step 2: Check other options for correctness

    isSelected() only checks selection, getText() returns label text, and sendKeys() is not used for radio buttons.
  3. Final Answer:

    driver.findElement(By.id("option1")).click(); -> Option D
  4. Quick Check:

    Use click() to select radio button [OK]
Hint: Use click() to select radio buttons, not isSelected() [OK]
Common Mistakes:
  • Using isSelected() to select instead of check
  • Trying to sendKeys() to radio buttons
  • Using getText() expecting to select
3. Consider the following code snippet:
WebElement rb1 = driver.findElement(By.id("radio1"));
WebElement rb2 = driver.findElement(By.id("radio2"));
rb1.click();
boolean selected1 = rb1.isSelected();
boolean selected2 = rb2.isSelected();
What will be the values of selected1 and selected2 after execution?
medium
A. selected1 = true, selected2 = false
B. selected1 = false, selected2 = true
C. selected1 = true, selected2 = true
D. selected1 = false, selected2 = false

Solution

  1. Step 1: Understand radio button behavior on click

    Clicking rb1 selects it and deselects other radio buttons in the same group, so rb1.isSelected() returns true and rb2.isSelected() returns false.
  2. Step 2: Confirm the boolean values

    Therefore, selected1 is true and selected2 is false after clicking rb1.
  3. Final Answer:

    selected1 = true, selected2 = false -> Option A
  4. Quick Check:

    Click selects one, others deselect = true/false [OK]
Hint: Only one radio button in group is selected at a time [OK]
Common Mistakes:
  • Assuming both radio buttons can be selected simultaneously
  • Confusing isSelected() return values
  • Not understanding radio button group behavior
4. You have the following code to select a radio button:
WebElement radio = driver.findElement(By.name("gender"));
radio.click();

But the test fails because the wrong radio button is selected. What is the likely problem?
medium
A. The findElement method is incorrect; should use findElements
B. The click() method does not work on radio buttons
C. Using By.name returns multiple elements; need to specify which one
D. Radio buttons cannot be selected by Selenium

Solution

  1. Step 1: Analyze locator usage

    Using By.name("gender") returns the first matching element, but if multiple radio buttons share the same name, this may select the wrong one.
  2. Step 2: Fix by specifying correct element

    To select the intended radio button, use a more specific locator or find all elements and choose the correct one.
  3. Final Answer:

    Using By.name returns multiple elements; need to specify which one -> Option C
  4. Quick Check:

    Locator must uniquely identify radio button [OK]
Hint: Use unique locators or filter elements to select correct radio button [OK]
Common Mistakes:
  • Assuming findElement returns all matching elements
  • Thinking click() doesn't work on radio buttons
  • Ignoring that multiple radios share the same name attribute
5. You want to write a test to verify that selecting one radio button deselects the others in the same group. Which approach is best to implement this in Selenium Java?
hard
A. Click all radio buttons one by one and assert they are all selected
B. Click one radio button, then assert it is selected and all others are not selected
C. Use sendKeys() to select radio buttons and check their text
D. Check only the first radio button's selection status without clicking

Solution

  1. Step 1: Understand radio button group behavior

    Only one radio button in a group can be selected at a time; selecting one deselects others.
  2. Step 2: Write assertions to verify this

    Click one radio button, then check that it is selected and all others are not selected to confirm correct behavior.
  3. Final Answer:

    Click one radio button, then assert it is selected and all others are not selected -> Option B
  4. Quick Check:

    Test selection exclusivity by asserting one selected, others not [OK]
Hint: Assert one selected and others deselected after click [OK]
Common Mistakes:
  • Expecting multiple radio buttons to be selected simultaneously
  • Not asserting other buttons are deselected
  • Using sendKeys() instead of click()
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard