Challenge - 5 Problems
Prompt Alert Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate2:00remaining
What is the output of this Selenium Python code handling a prompt alert?
Consider the following Selenium Python code snippet that handles a prompt alert by sending text and accepting it. What will be printed?
Selenium Python
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # Assume driver is already initialized and navigated to page with prompt alert alert_button = driver.find_element(By.ID, 'promptButton') alert_button.click() wait = WebDriverWait(driver, 10) prompt = wait.until(EC.alert_is_present()) prompt.send_keys('Hello') prompt.accept() result_text = driver.find_element(By.ID, 'result').text print(result_text)
Attempts:
2 left
💡 Hint
Think about what the page shows after accepting the prompt with input.
✗ Incorrect
The prompt alert accepts the input 'Hello' and after accepting, the page updates the element with ID 'result' to show 'You entered Hello'.
❓ assertion
intermediate1:30remaining
Which assertion correctly verifies the prompt alert input was accepted?
You want to verify that the prompt alert input 'Test123' was accepted and displayed on the page in element with ID 'result'. Which assertion is correct?
Selenium Python
result_text = driver.find_element(By.ID, 'result').textAttempts:
2 left
💡 Hint
Check the exact text the page shows after prompt input.
✗ Incorrect
The page shows the full text 'You entered Test123' so the assertion must match exactly.
❓ locator
advanced1:30remaining
Which locator is best to find the prompt alert button for reliable tests?
You want to locate the button that triggers the prompt alert. The button has class 'btn' and text 'Click me'. Which locator is best practice for stable Selenium tests?
Attempts:
2 left
💡 Hint
Consider uniqueness and stability of locators.
✗ Incorrect
Using XPath with exact button text ensures the correct button is found even if multiple buttons share the same class.
🔧 Debug
advanced2:00remaining
Why does this Selenium code raise UnexpectedAlertPresentException?
This code tries to send keys to a prompt alert but raises UnexpectedAlertPresentException. Why?
Selenium Python
alert_button = driver.find_element(By.ID, 'promptButton') alert_button.click() prompt = driver.switch_to.alert prompt.send_keys('Test') prompt.accept() # Next line fails driver.find_element(By.ID, 'result').text
Attempts:
2 left
💡 Hint
Check if the alert is fully present before interacting.
✗ Incorrect
Without waiting, the alert may not be ready causing UnexpectedAlertPresentException when Selenium tries to interact with page elements.
❓ framework
expert3:00remaining
How to design a reusable test function for prompt alerts with input and verification?
You want a reusable Python function using Selenium that clicks a prompt alert button, inputs text, accepts it, and verifies the result text. Which function design is best?
Selenium Python
def test_prompt_alert(driver, button_id, input_text, result_id, expected_text): # Fill in the function body
Attempts:
2 left
💡 Hint
Wait for alert, send keys, accept, then verify exact result.
✗ Incorrect
Option B correctly waits for alert, sends input, accepts it, then asserts exact expected text. Others have wrong order, dismiss alert, or weak assertions.