有没有一种方法可以断言testcafe中具有部分文件名的下载文件?

问题描述

正在进行testcafe UI测试自动化,我有一个下载链接,该链接从服务器下载文件,但是在服务器上创建的文件名带有服务器时间(包括秒)。我想检查文件是否存在,如testcafe示例here

中所示

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

解决方法

等待文件时,可以使用globby模块来使用globs(文件名模式)。

在测试中添加以下功能:

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

,然后在测试中使用existsSyncunlinkSync而不是fs.existsSyncfs.unlinkSync