Bird
Raised Fist0
Selenium Javatesting~10 mins

Typing text (sendKeys) in Selenium Java - Test Execution Trace

Choose your learning style10 modes available
Test Overview

This test opens a web page with a search input box, types the text "Selenium testing" into it using sendKeys, and verifies that the input box contains the typed text.

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.junit.Assert;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class TypingTextTest {
    private WebDriver driver;

    @Before
    public void setUp() {
        driver = new ChromeDriver();
    }

    @Test
    public void testTypingText() {
        driver.get("https://example.com/search");
        WebElement searchInput = driver.findElement(By.id("search-box"));
        searchInput.sendKeys("Selenium testing");
        String enteredText = searchInput.getAttribute("value");
        Assert.assertEquals("Selenium testing", enteredText);
    }

    @After
    public void tearDown() {
        driver.quit();
    }
}
Execution Trace - 6 Steps
StepActionSystem StateAssertionResult
1Test starts and Chrome browser opensChrome browser window is open and ready—PASS
2Navigates to URL https://example.com/searchBrowser displays the search page with input box having id 'search-box'—PASS
3Finds the input element by id 'search-box'Input element is located and ready for interaction—PASS
4Types text 'Selenium testing' into the input box using sendKeysInput box now contains the text 'Selenium testing'—PASS
5Retrieves the value attribute of the input boxValue attribute is 'Selenium testing'Assert that the input box value equals 'Selenium testing'PASS
6Test ends and browser closesBrowser window is closed—PASS
Failure Scenario
Failing Condition: The input element with id 'search-box' is not found or the typed text does not match the expected value
Execution Trace Quiz - 3 Questions
Test your understanding
What does the sendKeys method do in this test?
AClears the input box
BClicks the input box
CTypes the specified text into the input box
DSubmits the form
Key Result
Always verify that the text you typed into an input box matches the expected value by checking the element's 'value' attribute after using sendKeys.

Practice

(1/5)
1. What does the sendKeys() method do in Selenium WebDriver?
easy
A. It takes a screenshot of the current page.
B. It types text into an input field on a web page.
C. It navigates to a new URL.
D. It clicks a button on the web page.

Solution

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

    The sendKeys() method simulates typing text into input fields.
  2. Step 2: Compare with other actions

    Clicking buttons, navigating URLs, and taking screenshots are done by other methods, not sendKeys().
  3. Final Answer:

    It types text into an input field on a web page. -> Option B
  4. Quick Check:

    sendKeys() = types text [OK]
Hint: sendKeys() = typing text into fields [OK]
Common Mistakes:
  • Confusing sendKeys() with click()
  • Thinking sendKeys() navigates pages
  • Assuming sendKeys() takes screenshots
2. Which of the following is the correct syntax to type "hello" into a text input using Selenium in Java?
easy
A. driver.findElement(By.id("inputField")).sendKeys("hello");
B. driver.sendKeys(By.id("inputField"), "hello");
C. driver.findElement(By.id("inputField")).type("hello");
D. driver.findElement(By.id("inputField")).click("hello");

Solution

  1. Step 1: Locate element and use sendKeys()

    The correct way is to find the element first, then call sendKeys() on it with the text.
  2. Step 2: Check syntax correctness

    driver.findElement(By.id("inputField")).sendKeys("hello"); uses findElement and sendKeys correctly. Others use invalid methods or wrong parameters.
  3. Final Answer:

    driver.findElement(By.id("inputField")).sendKeys("hello"); -> Option A
  4. Quick Check:

    findElement + sendKeys() = correct syntax [OK]
Hint: Always find element first, then call sendKeys() [OK]
Common Mistakes:
  • Calling sendKeys() directly on driver
  • Using non-existent methods like type()
  • Passing text to click() method
3. What will be the result of the following code snippet?
WebElement input = driver.findElement(By.name("username"));
input.sendKeys("user123");
String value = input.getAttribute("value");
System.out.println(value);
medium
A. It prints an empty string
B. It prints: username
C. It throws NoSuchElementException
D. It prints: user123

Solution

  1. Step 1: Understand sendKeys() effect

    The sendKeys("user123") types "user123" into the input field.
  2. Step 2: Retrieve input value attribute

    The getAttribute("value") returns the current text inside the input, which is "user123".
  3. Final Answer:

    It prints: user123 -> Option D
  4. Quick Check:

    sendKeys() sets value, getAttribute("value") reads it [OK]
Hint: sendKeys() sets input value, getAttribute("value") reads it [OK]
Common Mistakes:
  • Expecting getAttribute("value") to return element name
  • Assuming sendKeys() throws exception without element
  • Thinking printed value is empty
4. Identify the error in the following code snippet that tries to type "admin" into a password field:
WebElement password = driver.findElement(By.id("pass"));
password.sendkeys("admin");
medium
A. Method name should be sendKeys with uppercase K.
B. The locator By.id("pass") is incorrect.
C. sendKeys cannot be used on password fields.
D. Missing driver initialization.

Solution

  1. Step 1: Check method spelling

    The method name is case-sensitive and must be sendKeys with uppercase 'K'.
  2. Step 2: Verify locator and usage

    The locator By.id("pass") is valid and sendKeys works on password fields. Driver initialization is assumed done.
  3. Final Answer:

    Method name should be sendKeys with uppercase K. -> Option A
  4. Quick Check:

    sendKeys() method name is case-sensitive [OK]
Hint: Remember exact method name: sendKeys() with capital K [OK]
Common Mistakes:
  • Typing sendkeys() with lowercase k
  • Assuming sendKeys() can't type passwords
  • Ignoring driver setup errors
5. You want to clear any existing text and then type "hello world" into a search box using Selenium in Java. Which code snippet correctly does this?
hard
A. driver.findElement(By.name("search")).sendKeys(""); driver.findElement(By.name("search")).sendKeys("hello world");
B. driver.findElement(By.name("search")).sendKeys(Keys.CONTROL + "a", Keys.DELETE); driver.findElement(By.name("search")).sendKeys("hello world");
C. driver.findElement(By.name("search")).clear(); driver.findElement(By.name("search")).sendKeys("hello world");
D. driver.findElement(By.name("search")).sendKeys("hello world");

Solution

  1. Step 1: Clear existing text properly

    The clear() method empties the input field safely before typing.
  2. Step 2: Type new text after clearing

    After clearing, calling sendKeys("hello world") types the new text correctly.
  3. Final Answer:

    driver.findElement(By.name("search")).clear(); driver.findElement(By.name("search")).sendKeys("hello world"); -> Option C
  4. Quick Check:

    Use clear() before sendKeys() to reset input [OK]
Hint: Use clear() before sendKeys() to replace text [OK]
Common Mistakes:
  • Trying to delete text with sendKeys() shortcuts incorrectly
  • Sending empty string to clear input
  • Not clearing input before typing new text
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