How to test File Downloads
Introduction
In a Web Test, you can add steps to verify the file downloads.
After you triggered a file download, you can extract information about the file in variables.
And then you can use those variables in other steps, such as Assertions and If Statements.
Details
You can extract information about a downloaded file by using these methods from the Set Variable action:
- Extract Name of Most Recent Downloaded File
- Extract Size of Most Recent Downloaded File
- Extract MIME Type of Most Recent Downloaded File
- Link to Most Recent Downloaded File
You can then use the resulting variables in later steps, such as: Add Assertion → Variable Assertion.
Waiting for a download to complete
Endtest will automatically wait for a download to complete when using one of those methods.
There is no need to add a Pause step, unless the download takes more than 120 seconds, which is the default download timeout.
After you extracted the information in variables, you can verify the values from those variables by using the Variable Assertion method from the Add Assertion action.
You can also clear the Downloads directory by using the Clear Downloads Directory method from the Miscellaneous action.
Testing file content
The Link to Most Recent Downloaded File method from the Set Variable action uploads the downloaded file from the machine that executed the test.
The resulting variable contains a link that can be used to open or download that file.
If the file type can be displayed directly in the browser (such as .txt, .jpg, .mp4, etc.), you can use a Go to URL step to open and view the file in the browser.
Methods from the Endtest Utilities API can also be used to convert files to HTML (for example convertCSVtoHTML or convertPDFtoHTML). This makes the content easier to view and validate in the browser.
Note: PDF files are a special case. More details can be found in the PDF Testing chapter.
Browser Support
File downloads can be tested in Chrome, Edge, Firefox and mobile browsers.
File downloads cannot be tested in Safari and Internet Explorer 11.
