Challenge - 5 Problems
Date Picker Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate2:00remaining
Output of Selenium code selecting a date
What will be the output of this Selenium Java code snippet when selecting a date from a date picker widget?
Selenium Java
WebElement dateInput = driver.findElement(By.id("datePicker")); dateInput.click(); WebElement dateToSelect = driver.findElement(By.xpath("//td[@data-date='2024-06-15']")); dateToSelect.click(); String selectedDate = dateInput.getAttribute("value"); System.out.println(selectedDate);
Attempts:
2 left
💡 Hint
Check how the date is stored in the input field after selection.
✗ Incorrect
The code clicks the date input, then clicks the date cell with data-date attribute '2024-06-15'. The input's value attribute updates to '2024-06-15', so printing it outputs that string.
❓ assertion
intermediate1:30remaining
Correct assertion to verify date selection
Which assertion correctly verifies that the date '2024-12-25' is selected in the date picker input field?
Selenium Java
WebElement dateInput = driver.findElement(By.id("datePicker")); String selectedDate = dateInput.getAttribute("value");
Attempts:
2 left
💡 Hint
Check the exact expected date format in the input value.
✗ Incorrect
The input's value attribute stores the date as 'YYYY-MM-DD'. The assertion must check exact equality to confirm the correct date is selected.
❓ locator
advanced2:00remaining
Best locator for dynamic date picker day cell
Given a date picker where day cells have dynamic classes but a stable data-date attribute in 'YYYY-MM-DD' format, which locator is best to select the day '2024-11-05'?
Attempts:
2 left
💡 Hint
Focus on stable attributes that do not change dynamically.
✗ Incorrect
The data-date attribute is stable and unique for each day cell. Using XPath to select by this attribute is reliable. Class names and IDs are dynamic or not guaranteed.
🔧 Debug
advanced2:30remaining
Debugging date picker selection failure
A test script fails to select a date in a date picker. The code is:
WebElement dateInput = driver.findElement(By.id("datePicker"));
dateInput.sendKeys("2024-07-20");
Why might this fail to select the date properly?
Attempts:
2 left
💡 Hint
Think about how date pickers update their internal state.
✗ Incorrect
Many date pickers require user interaction with the calendar UI to update internal state and trigger events. sendKeys may set the input value but not trigger these events, causing selection failure.
❓ framework
expert3:00remaining
Designing a reusable date picker selection method
You want to create a reusable Selenium Java method to select any date in a date picker widget that uses a calendar UI with data-date attributes. Which method signature and approach is best?
Attempts:
2 left
💡 Hint
Consider maintainability and triggering UI events properly.
✗ Incorrect
Option B uses a LocalDate parameter for type safety, clicks the input to open the calendar, then clicks the day cell by data-date attribute, ensuring UI events trigger properly. Other options rely on sendKeys or less stable locators.