【发布时间】:2019-08-08 13:17:54
【问题描述】:
在我的测试中,我需要点击一个“下载按钮”,它会触发一个 HTTP 请求,该请求会自动将 PDF 文件下载到我的下载目录,然后,我需要在测试中的其他地方上传相同的 PDF 文件.
所以问题来了,因为我不知道实际运行测试的计算机的下载目录我需要控制下载保存文件的路径,我如何使用 testcafe 做到这一点?
这里有一些尝试使用 HTTP 请求挂钩并稍后保存文件,但在尝试打开 PDF 文件时数据已损坏
.click(await new Selector('[class="fi font-download_alt "]'))
const requests = logger.requests.length;
const buf = logger.requests[requests-1].response.body;
console.log(decoder.write(cent));
console.log(buf.toJSON());
console.log(buf.toString());
let writer = fs.createWriteStream('test_copy.txt', {
flags: 'w'
});
buf.pipe(writer);
var util = require('util');
fs.writeFile('myFile.pdf', util.inspect(logger.requests[requests-1]), (err) => {
if(!err) console.log('Data written');
});
实际结果:下载到下载目录 或者 设法将文件保存到我想要的目录,但文件使用 FS 或 FileStream 损坏
想要的结果:将文件下载到我想要的目录并且 PDF 没有损坏
【问题讨论】:
标签: pdf testing download automated-tests testcafe