Skip to content
RecipesDoc

File Uploads with Images, PDFs, CSVs, Wrong Types and Too-Large Files

Certyn uploads good, wrong and too-large files into your upload forms and files what the app gets wrong.

For teams with upload forms.

Your setup

  • A web app on staging, with a test account.
  • Upload forms: an avatar (PNG or JPG), contracts (PDF), a contacts import (CSV).
  • A size limit, for example 10 MB.

Say this to Certyn

Test the avatar, contract and contact import uploads on staging. Try good files, the wrong type and a file over our 10 MB limit.

What Certyn does

  1. Says the run length and starts an explore run with your forms and limits in the goal (app.run.create type explore). The upload tool works in runs, not on the chat's own Machine.
  2. Puts a file into the page's file input (browser.file.upload), then submits the form. Built-in samples: image_png and image_jpg (1×1 pixel), document_pdf (one blank page), spreadsheet_csv (a header name,email,role and two rows), text_txt, and oversized_bin (12 MB).
  3. Good files: checks name, preview and imported rows.
  4. Wrong type, such as the text file in the image field: checks for a clear message, and that the server refuses it too.
  5. Too large: checks for a clear message, not an endless spinner or a server error. It reads failed requests (browser.network.list).
  6. Other files: makes them in the run's shell and uploads them by path: a file over a larger limit, an empty file, a CSV with a bad row.
  7. Files one issue per real bug, with the file used and what happened.

What you get

  • Issues with the file used, the expected and real result, and screenshots.
  • A run report with each form and file tried.

Limits

  • Files you attach in the chat do not reach the Machine or runs. To use your own files, give a URL the run can download, keep them in your repo (with a GH_TOKEN), or on a self-hosted runner put them in the /workspace folder. Certyn then uploads them by path.
  • The samples are tiny. A 1×1 image can fail a minimum size check. Ask for a real image by URL.
  • Works with a file input in the page. A file input inside an iframe (some upload widgets) or a shadow DOM component is not reached. A drag and drop area works only if it has a file input behind it, as most do.