【问题标题】:Downloading PDF file on my test for further upload在我的测试中下载 PDF 文件以供进一步上传
【发布时间】: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


    【解决方案1】:

    查看downloads-folder 包,它有助于检测本地下载文件夹。

    【讨论】:

    • 这种方法并不是我所期待的,因为我正在处理请求并尝试为其提供下载路径。但是,它给了我一个新的视角,它解决了这个问题,谢谢,希望客户接受它
    猜你喜欢
    • 2022-09-28
    • 1970-01-01
    • 2019-11-30
    • 2015-09-19
    • 1970-01-01
    • 1970-01-01
    • 2013-05-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多