问题描述
我正在进行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);
}
,然后在测试中使用existsSync
和unlinkSync
而不是fs.existsSync
和fs.unlinkSync
。