首页 > 解决方案 > 有没有办法在 testcafe 中断言具有部分文件名的下载文件?

问题描述

我正在研究 testcafe UI 测试自动化,我有一个下载链接,它从服务器下载文件,但文件名是在服务器上创建的,服务器时间包括秒。我想检查文件是否存在,如此处的 testcafe 示例所示

我试图使用记录器从响应标头中读取文件名并以这种方式找到它,但问题是 UI 正在调用一个不同 url 的 API,因此记录器也无法拦截请求/响应。

标签: javascriptdownloadfilenamesasserttestcafe

解决方案


您可以使用globby模块在等待文件时使用 glob(文件名模式)

将以下函数添加到您的测试中:

const globby = require('globby');

function existsSync (glob) {
   return globby.sync(glob).length;
}

function unlinkSync (glob) {
   for(const file of globby.sync(glob))
      fs.unlinkSync(file);
}

然后在你的测试中使用existsSyncandunlinkSync而不是fs.existsSyncand 。fs.unlinkSync


推荐阅读