赛普拉斯 - 如何验证文件是不是已下载?
Posted
技术标签:
【中文标题】赛普拉斯 - 如何验证文件是不是已下载?【英文标题】: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')
);
【问题讨论】:
***.com/questions/47930881/… 【参考方案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... 其他一些方法,如this 和this 使用cy.task(...)
,因为它们使用像fs.existsSync(...)
这样的节点模块。这个答案很优雅,因为它使用了cy.readFile(...)
;它不需要cy.task(...)
,所以它很简短。但是,对我来说,下载的文件是一个大的 PDF,所以readFile
(或将文件内容记录到 cy log 作为断言的一部分)减慢了我的测试速度,也许我应该使用@ 987654330@。或使用“存在”方法而不是“读取”以上是关于赛普拉斯 - 如何验证文件是不是已下载?的主要内容,如果未能解决你的问题,请参考以下文章