Bird
Raised Fist0
Selenium Javatesting~20 mins

Typing text (sendKeys) in Selenium Java - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Typing Text Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the result of this Selenium Java code snippet?
Consider the following Selenium Java code that types text into a search box and submits the form. What will be the value of the input field after execution?
Selenium Java
WebElement searchBox = driver.findElement(By.id("searchInput"));
searchBox.sendKeys("Selenium Testing");
String enteredText = searchBox.getAttribute("value");
A""
B"selenium testing"
C"Selenium Testing"
Dnull
Attempts:
2 left
💡 Hint
Remember that sendKeys types exactly what you pass as argument.
❓ assertion
intermediate
2:00remaining
Which assertion correctly verifies typed text in Selenium Java?
You want to check that the text "Hello World" was typed into an input field with id "message". Which assertion is correct?
Selenium Java
WebElement input = driver.findElement(By.id("message"));
input.sendKeys("Hello World");
String text = input.getAttribute("value");
AassertTrue(text.contains("hello world"));
BassertEquals(text, "Hello World");
CassertNotNull(text);
DassertFalse(text.isEmpty());
Attempts:
2 left
💡 Hint
Check for exact match of the typed text.
❓ locator
advanced
2:00remaining
Which locator is best to find an input field for typing text?
You want to type text into a username field on a login page. Which locator is the best practice for finding this input element?
ABy.tagName("input")
BBy.xpath("//input[@type='text']")
CBy.className("input-field")
DBy.id("username")
Attempts:
2 left
💡 Hint
Use the most specific and stable locator.
🔧 Debug
advanced
2:00remaining
Why does this sendKeys call fail to type text?
This Selenium Java code tries to type "Test" but the input remains empty. What is the likely cause?
Selenium Java
WebElement input = driver.findElement(By.id("email"));
input.sendKeys("");
AsendKeys was called with an empty string, so no text is typed.
BThe input element is not visible, so sendKeys fails silently.
CThe locator By.id("email") is incorrect and finds no element.
DsendKeys requires a click() before typing.
Attempts:
2 left
💡 Hint
Check the argument passed to sendKeys.
❓ framework
expert
2:00remaining
In a Selenium Java test framework, how to best wait for an input field to be ready before typing?
You want to type text into an input field, but it may take time to appear. Which approach ensures reliable typing?
AUse WebDriverWait with ExpectedConditions.elementToBeClickable before sendKeys.
BUse Thread.sleep(5000) before sendKeys to wait fixed time.
CCall sendKeys immediately and catch exceptions if element not ready.
DUse driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS) once before tests.
Attempts:
2 left
💡 Hint
Explicit waits are better than fixed or implicit waits for element readiness.

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