0
0
Selenium Javatesting~10 mins

RemoteWebDriver usage in Selenium Java - Test Execution Trace

Choose your learning style9 modes available
Test Overview

This test opens a browser remotely using RemoteWebDriver, navigates to a website, clicks a button, and verifies the page title.

Test Code - JUnit
Selenium Java
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.openqa.selenium.support.ui.ExpectedConditions;
import java.net.URL;
import java.time.Duration;
import static org.junit.Assert.assertEquals;

public class RemoteWebDriverTest {
    public static void main(String[] args) throws Exception {
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setBrowserName("chrome");

        WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capabilities);

        try {
            driver.get("https://example.com");

            WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));
            WebElement moreInfoLink = wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("a.more-info")));

            moreInfoLink.click();

            wait.until(ExpectedConditions.titleContains("More Information"));

            String title = driver.getTitle();
            assertEquals("More Information - Example Domain", title);

        } finally {
            driver.quit();
        }
    }
}
Execution Trace - 8 Steps
StepActionSystem StateAssertionResult
1Create DesiredCapabilities for Chrome browserCapabilities object set to use Chrome-PASS
2Instantiate RemoteWebDriver with Selenium Grid URL and capabilitiesRemote browser session started on Selenium Grid-PASS
3Navigate to https://example.comBrowser opened with example.com loadedPage URL is https://example.comPASS
4Wait until the 'More Info' link is clickable'More Info' link is visible and clickableElement located by CSS selector 'a.more-info' is clickablePASS
5Click the 'More Info' linkBrowser navigates to the More Information page-PASS
6Wait until page title contains 'More Information'Page title updated to include 'More Information'Title contains 'More Information'PASS
7Get page title and assert it equals 'More Information - Example Domain'Page title is 'More Information - Example Domain'assertEquals passes confirming correct page titlePASS
8Quit the RemoteWebDriver sessionBrowser session closed-PASS
Failure Scenario
Failing Condition: The 'More Info' link is not found or not clickable within 10 seconds
Execution Trace Quiz - 3 Questions
Test your understanding
What does the RemoteWebDriver connect to in this test?
AA Selenium Grid server at http://localhost:4444/wd/hub
BA local Chrome browser instance
CA mobile device emulator
DA cloud testing service without URL
Key Result
Always use explicit waits like WebDriverWait with ExpectedConditions to handle dynamic page elements when using RemoteWebDriver.