【问题标题】:Is there a way to assert download file with partial filename in testcafe?有没有办法在 testcafe 中断言具有部分文件名的下载文件?
【发布时间】:2020-08-11 03:20:02
【问题描述】:
我正在研究 testcafe UI 测试自动化,我有一个下载链接,它从服务器下载文件,但文件名是在服务器上创建的,服务器时间包括秒。我想检查文件是否存在,如 testcafe 示例中所示here
我试图使用logger 从响应头中读取文件名并以这种方式找到它,但问题是 UI 正在调用一个不同 url 的 API,因此记录器也无法拦截请求/响应.
【问题讨论】:
标签:
javascript
download
filenames
assert
testcafe
【解决方案1】:
您可以在等待文件时使用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。
【讨论】:
-
您可以使用this runnable 示例检查如何在TestCafe 中测试文件下载。