要在 Cypress 中下载一个文件,可以使用 cy.request()
命令来发送 HTTP 请求以获取文件,并使用cy.writeFile()
将文件保存到本地。以下是一个示例,演示如何在 Cypress 中下载文件:文章来源:https://uudwc.com/A/59ar4
describe('Download a File', () => {
it('should download a file', () => {
// 发送 HTTP GET 请求以获取文件
cy.request({
method: 'GET',
url: 'https://example.com/path/to/file.pdf', // 替换为您要下载的文件的 URL
encoding: 'binary', // 使用二进制编码
responseType: 'arraybuffer', // 响应类型设置为数组缓冲区
}).then((response) => {
// 使用 Node.js 的 fs 模块将文件保存到本地
const fileName = 'downloaded-file.pdf'; // 保存的文件名
const filePath = `/path/to/save/${fileName}`; // 保存的文件路径
cy.writeFile(filePath, response.body, 'binary');
// 检查文件是否成功保存
cy.readFile(filePath, 'binary').should('exist');
});
});
});
上述示例中:文章来源地址https://uudwc.com/A/59ar4
- 使用
cy.request()
发送 HTTP GET 请求以获取文件 - 将
encoding
设置为binary
,以便正确处理二进制数据 - 将
responseType
设置为arraybuffer
,以确保响应以数组缓冲区的形式返回 - 在
cy.request()
的回调中,我们使用cy.writeFile()
命令将文件保存到本地