javascript - 有没有办法在 testcafe 中断言具有部分文件名的下载文件?
问题描述
我正在研究 testcafe UI 测试自动化,我有一个下载链接,它从服务器下载文件,但文件名是在服务器上创建的,服务器时间包括秒。我想检查文件是否存在,如此处的 testcafe 示例所示
我试图使用记录器从响应标头中读取文件名并以这种方式找到它,但问题是 UI 正在调用一个不同 url 的 API,因此记录器也无法拦截请求/响应。
解决方案
您可以使用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);
}
然后在你的测试中使用existsSync
andunlinkSync
而不是fs.existsSync
and 。fs.unlinkSync
推荐阅读
- javascript - Bootstrap Multi-Select - 取消选择/取消选中所有选项时无法启用选择
- node.js - can't update the node js version and npm version
- sql - 'smt' 是什么意思,为什么'smt' 经常用作数据库名称的前缀?
- html - CSS 背景 url 显示带有 Bracket 的实时预览,但在 Chrome 或 Safari 直接打开时不起作用
- jsviews - 新版本的 jsViews 后,依赖不工作
- python - 更改数据框中的元素
- google-cloud-run - REST 中的 `gcloud beta run deploy --image [image] --allow-unauthenticated` 的等价物是什么?
- homebrew - 如何在 Mac OSX.Brew 中安装 Podman,无根容器?
- r - 如何调整“Oaxaca”包回归模型以使结果独立于指标变量的参考类别?
- google-picker - Picker 说 setEnableSharedDrives() 不是函数