Data & Files Practice Challenges

Practice sortable data tables, file upload and download, infinite scroll, and broken images and links.

3 challenges

Frequently asked questions

How do I assert on table data without positional selectors?

Read cells by their data-testid="tables-cell-<column>" rather than nth-child, so a reordered column cannot silently change what the assertion reads. Sort state is exposed as aria-sort on the header, which is what to assert after a sort click.

How do I test file upload and download?

For upload, set the input's files directly instead of opening the OS dialog, and assert the server echo rather than the client-side preview. For download, wait for the download event and assert the filename and contents — the static manifests here are safe to assert byte for byte.

How do I detect broken images and dead links?

A broken image reports a naturalWidth of zero; a dead link is best checked by requesting its href and asserting the status rather than clicking through. The Broken Images & Links page has exactly two of each, so the expected count is knowable up front.

Other categories

Updated

Fun UI Playground — all challenges, bug hunts, getting started, glossary, about.