下载文件会在赛普拉斯中挂起

时间:2020-05-28 14:42:05

标签: testing cypress

我遇到的问题是,在Cypress中单击“下载”按钮后,文件实际上已下载,但是测试挂起了。老实说,我在Google上搜索了很多东西,但是由于赛普拉斯不直接支持文件上载和下载(只有一些解决方法),所以提供了一些解决方案,但对我来说都不起作用。首先无法确定文件URL,因为它是动态的,并且每次我上传相同文件时,它都会使用自动生成的时间戳获得新名称。此外,我需要测试一次下载几个(或多个)选定文件。我发现提出了许多解决方案(例如here),但所有解决方案都需要目标URL。还有其他测试下载的方法吗?

 it('Adds and downloads documents', function () {
    cy.get('[type="checkbox"]#documents-list-select-all').check({ force: true }); //select all button, as you can guess from the name
    cy.get('#documents-list-selected-actions').click(); //this is the actual download button
    cy.waitLoadingOverlay();
  });

1 个答案:

答案 0 :(得分:0)

截至2020年6月的答案:目前尚无法测试非text/html内容类型页面。 这里讨论了该主题: https://github.com/cypress-io/cypress/issues/1551

您唯一可以做的就是将代码添加到代码中,如果该代码在赛普拉斯中执行,则应跳过下载,即您按下按钮,而赛普拉斯什么也不做,仅单击按钮即可。当然,此测试只会测试按钮是否处于活动状态,而不是实际下载,而是在您需要的情况下...