Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Testcafe example to assert file download

I want to write a fixture to simulate the export file and make sure a file is downloaded from browser actions. any example?

NA

like image 881
GM. Avatar asked Oct 12 '25 14:10

GM.


1 Answers

There's not a fancy way check if the download has finished, TestCafe is somewhat limited in its ability to control the download ability in the browser.

import fs from 'fs';

const fileName = 'junk.txt';
const downloadLocation = 'C:\\Wherever\\Downloads\\';
const fileDLUrlBase = 'https://example.com/downloads/';
fixture('download test fixture');
test('download test', async t => {
  await t.navigateTo(fileDLUrlBase + fileName);
  await t.wait(30000);
  // Wait 30 seconds
  await t.expect(fs.fileExistsSync(downloadLocation + fileName));
});

You could convert that to a loop that checks, say, every 5 seconds for 60 seconds, if you wanted.

like image 176
David Sampson Avatar answered Oct 14 '25 04:10

David Sampson



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!