断言文件下载的 Testcafe 示例

我想编写一个夹具来模拟导出文件并确保从浏览器操作中下载文件.有什么例子吗?

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

不适用

推荐答案

没有花哨的方法检查下载是否完成,TestCafe 在浏览器中控制下载能力的能力有些局限.

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));
});

如果需要,您可以将其转换为一个循环,例如每 5 秒检查 60 秒.

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

相关文章