在我的测试中,我需要点击"Download Button“,它会触发一个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不会损坏
发布于 2019-08-08 23:28:15
查看downloads-folder包,它有助于检测本地下载文件夹。
https://stackoverflow.com/questions/57413582
复制相似问题