Task Progress0 of 12 Tasks
0%

Advanced Inputs

Dropdowns, date pickers, file uploads, downloads and pickers. Each element shows its goal beside it. A task ticks itself the moment your script gets it right. Read tasks have an answer box: your script types in what it read.

1.Dropdowns

Standard HTML selectTo do
Goal

Select “Option 2” by its value, not by clicking.

Searchable autocompleteTo do
Goal

Type “Ind”, wait for suggestions, and pick India.

Multi-selectTo do
Goal

Select exactly Banana and Grape, nothing else.

Disabled dropdownTo do
Goal

Assert the dropdown is disabled, then read its locked code and type it in the answer box.

Cascading dropdown (country, then state)To do
Goal

Choose Canada, wait for the state list to change, then choose British Columbia.

2.Date & Time

Date pickerTo do
Goal

Set the date to 15 August 2030.

Time pickerTo do
Goal

Set the time to 2:30 PM.

Date-time pickerTo do
Goal

Set 31 December 2030, 11:59 PM.

3.File uploads

Single image uploadTo do
Goal

Upload a PNG or JPG. Then try a .txt file and check the error.

Multiple file uploadTo do
Goal

Upload two or more files in one go.

4.Downloads

DownloadsTo do
Goal

Download the CSV, read the order total from inside the file, and type it in the answer box.

5.Pickers

Color pickerTo do
#3b82f6
Goal

Set the colour to #22c55e (green).

About this Advanced Inputs page

Advanced input automation covers controls that cannot be handled with a simple click or type: date pickers, range sliders and file upload fields. A test sets a date, moves a slider to an exact value, or attaches a file, then asserts the result. This free page gives scored tasks for each, with hints and solutions in Playwright, Selenium and Cypress.

Screenshot of the Advanced Inputs practice page on QA Playground. Handle date pickers, range sliders, and uploads.
Advanced Inputs: Handle date pickers, range sliders, and uploads.

Frequently asked questions

How do you upload a file in Playwright?

Call page.locator('input[type=file]').setInputFiles('path/to/file.pdf'). It works without opening the native dialog. For inputs created on click, use page.waitForEvent('filechooser') and then fileChooser.setFiles(). Pass an empty array to clear the selection.

How do you upload a file in Selenium?

Locate the input[type=file] element and call send_keys with the absolute file path in Python, or sendKeys in Java. Do not click the element first, because that opens the native dialog, which Selenium cannot control. The input must be present, though it can be hidden.

How do you automate a date picker?

For a native date input, send the value in yyyy-mm-dd format, or use fill() in Playwright. For custom calendars, click the field, move to the right month, then click the day cell. Assert on the input value afterward, not the visible calendar.

How do you set a range slider value in a test?

Press arrow keys on the focused slider for exact steps, or set the value with JavaScript and dispatch input and change events. Dragging by pixels is less reliable. Playwright's fill() also works on input[type=range]. Assert the displayed value.

Can I practice file uploads without a server?

Yes. This page runs in your browser and reads the chosen file locally, so no upload leaves your machine. Tasks include valid files and rejected ones, such as the wrong type or too large a size, so you can test both outcomes.

Free developer tools on Randomly.online

QA Playground is part of Randomly.online. These tools help while you write and debug tests: