Case Study: Wait for File Download to Complete Safely in Selenium

How to increase reliability in an automated test for a file download

Courtney Zhan
4 min readJan 28, 2023


This article will show you how to verify a file download completes successfully in Selenium WebDriver.

The test site for this article is There is a sample PDF download that I will use for the tests.

Test Design

The test design is quite straightforward.

  1. Click the download button
  2. Wait…
  3. Verify the file contents

There is an unknown factor with Step 2 — how long should we wait in the test script? And when do we know the file has finished downloading?

There are three approaches:

  • Fixed wait
  • Check the downloaded file’s size
  • Wait for the browser download to complete

Fixed Wait

This approach is very easy to understand. Just hardcode the wait time.

it "Fixed wait…