0
0
Selenium Javatesting~10 mins

findElement by className in Selenium Java - Test Execution Trace

Choose your learning style9 modes available
Test Overview

This test opens a web page, finds a button using its class name, clicks it, and verifies that a confirmation message appears.

Test Code - JUnit with Selenium WebDriver
Selenium Java
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;

public class FindElementByClassNameTest {
    private WebDriver driver;
    private WebDriverWait wait;

    @BeforeEach
    public void setUp() {
        driver = new ChromeDriver();
        wait = new WebDriverWait(driver, 10);
    }

    @Test
    public void testClickButtonByClassName() {
        driver.get("https://example.com/testpage");
        WebElement button = wait.until(ExpectedConditions.presenceOfElementLocated(By.className("submit-btn")));
        button.click();
        WebElement message = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("confirmation-message")));
        assertEquals("Submission successful", message.getText());
    }

    @AfterEach
    public void tearDown() {
        if (driver != null) {
            driver.quit();
        }
    }
}
Execution Trace - 6 Steps
StepActionSystem StateAssertionResult
1Test starts and Chrome browser opensChrome browser window is open and ready-PASS
2Navigates to https://example.com/testpagePage loads with a button having class 'submit-btn' and an empty confirmation message area-PASS
3Waits until element with class name 'submit-btn' is present and finds the buttonButton with class 'submit-btn' is located on the pageElement presence verifiedPASS
4Clicks the button found by class nameButton is clicked, triggering submission action-PASS
5Waits until confirmation message with id 'confirmation-message' is visibleConfirmation message area is visible with text 'Submission successful'Message text equals 'Submission successful'PASS
6Test ends and browser closesBrowser window is closed-PASS
Failure Scenario
Failing Condition: The button with class name 'submit-btn' is not found on the page
Execution Trace Quiz - 3 Questions
Test your understanding
What Selenium method is used to find the button in this test?
Adriver.findElement(By.className("submit-btn"))
Bdriver.findElement(By.id("submit-btn"))
Cdriver.findElement(By.name("submit-btn"))
Ddriver.findElement(By.tagName("button"))
Key Result
Always use explicit waits like WebDriverWait with ExpectedConditions to reliably find elements by class name before interacting with them.