Wait For Download Finished #
def wait_for_download_finished( driver: TestUIDriver, file_name: str, timeout: int = 1000 ) -> None
This command waits until file download is completed or timeout is exceeded. This function is useful if download has to be completed before the end of the test. Download completion check is done every 500 ms, so it can be used for crude download time measurement as well.
file_name parameter specifies file name to wait for in downloads directory.
This parameter can not be
None or empty, otherwise an Error will be thrown.
timeout parameter specifies time in ms, how long to wait for file download
to be completed. If no timeout parameter is provided, default value
1000 ms is
used. When timeout is exceeded the function will raise an Py-TestUI error but
test execution will continue.
def test(driver: TestUIDriver): # Example of waiting for file to be downloaded # Open DemoQA upload/download page driver.navigate_to("https://demoqa.com/upload-download") e(driver, "css", "#app").wait_until_visible() download_element = e(driver, "css", "#downloadButton") driver.save_screenshot("before_download.png") # Start download download_element.click() wait_for_download_finished(driver, "sampleFile.jpeg", 30 * 1000) driver.save_screenshot("after_download.png")