Sample files for automated testing

Small, deterministic fixtures for Playwright, Selenium, Cypress and unit tests.

Automated tests need fixtures that never change. A file that differs between runs makes failures impossible to reproduce, and a file fetched from the network on every run makes the suite slow and fragile.

Download the samples you need once, commit them next to your tests, and refer to them by path. The small sizes exist for this purpose: a 1 KB or 10 KB file adds almost nothing to a repository.

Recommended files

FileSizeWhy this oneDownload
10 KB PDF samplesample-pdf-10kb.pdf10 KB10,240 bytesSmall valid PDF for upload testsDownload PDF
1 KB PNG samplesample-png-1kb.png1 KB1,024 bytesTiny valid imageDownload PNG
10 KB CSV samplesample-csv-10kb.csv10 KB10,240 bytesAbout a hundred rows for import testsDownload CSV
1 KB JSON samplesample-json-1kb.json1 KB1,024 bytesMinimal structured fixtureDownload JSON
One-pixel PNG (1 × 1)sample-pixel-1x1.png69 B69 bytesSmallest possible imageDownload PNG

Checklist

  1. Vendor your fixtures

    Copy files into the repository, for example under tests/fixtures. Do not download them during the test run.

  2. Prefer the smallest file that proves the point

    Use 1 KB and 10 KB samples for behaviour tests and keep large files for a separate, slower suite.

  3. Assert on content, not only on success

    After an upload, check the stored size or checksum rather than just the success message.

  4. Generate very large files at run time

    For sizes above a few megabytes, create the file in a setup step instead of committing it.

Guides

Related use cases

Frequently asked questions

Can my tests download fixtures from this site at run time?
They can, but they should not. A test that depends on a third-party site fails when the network does. Commit the files, or cache them in your CI system.
How do I upload a file in Playwright?
Call setInputFiles on the file input locator with the path to the fixture. The Playwright guide on this site has complete examples.