【问题标题】:Cypress - How to verify if a file is downloaded?赛普拉斯 - 如何验证文件是否已下载?
【发布时间】:2021-03-04 15:23:54
【问题描述】:

我想检查一个文件是否在我的测试中被下载。我只需要在单击按钮后确认文件已下载。我不需要阅读文件及其内容。我下载的所有文件都是 zip 文件,不知道这是否会使它们更难阅读?

it('Initiate download', () => {
  cy.get('[id="download-button"]')
    .should('be.visible')
    .click()
 });

 it('Verify the downloaded file', () => {
   cy.readFile('/Downloads/fileName.zip')
     .should('exist')
 });

【问题讨论】:

标签: download cypress zipfile


【解决方案1】:

你可以试试这个

const path = require("path");

it('Verify the downloaded file', () => {
   const downloadsFolder = Cypress.config("downloadsFolder");
   cy.readFile(path.join(downloadsFolder, "fileName.zip")).should("exist");
});

【讨论】:

  • 为什么这个答案还不被接受,@Finney14?
  • 请注意this issue...
  • 其他一些方法,如thisthis 使用cy.task(...),因为它们使用像fs.existsSync(...) 这样的节点模块。这个答案很优雅,因为它使用了cy.readFile(...);它不需要cy.task(...),所以它很简短。但是,对我来说,下载的文件是一个大的 PDF,所以readFile(或将文件内容记录到 cy log 作为断言的一部分)减慢了我的测试速度,也许我应该使用@ 987654330@。或使用“存在”方法而不是“读取”
猜你喜欢
  • 2020-06-15
  • 2022-11-02
  • 2023-02-05
  • 2022-11-10
  • 1970-01-01
  • 2023-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多