【问题标题】:How can I upload a csv file located in my downloads folder with cypress?如何使用 cypress 上传位于我的下载文件夹中的 csv 文件?
【发布时间】:2020-04-08 00:13:24
【问题描述】:

我有一个测试,在单击按钮后下载文件,该按钮保存在我的下载文件夹中。我需要在另一个屏幕上上传相同的文件。

我有这个代码:

const fileName = 'QATest_1.csv'

cy.readFile('C:\\Users\\victo\\Downloads\\QATest_1.csv').then(function (fileContent) {
cy.get('[name="csv"]').attachFile({ fileContent, fileName, mimeType: 'application/csv' });

cy.get('[ng-click="subirCsv()"]').click();

});

我收到此错误:

filePath 无效。 请查看文档以找到支持的 filePath

【问题讨论】:

    标签: csv testing file-upload automation cypress


    【解决方案1】:

    用这段代码终于成功了:

    const fileName = 'QATest_1.csv';
    
    cy.readFile('C:/Users/victo/Downloads/QATest_1.csv').then(function (fileContent) {
    
        cy.get('[name="csv"]').attachFile({ fileContent, fileName, mimeType: 'application/csv' })
    
        cy.get('[ng-click="subirCsv()"]').click()
    
    })
    

    注意:我将 cypress 更新到最新版本并安装了最新版本的“cyprees-file-upload”插件

    【讨论】:

      【解决方案2】:

      你可以试试这个

      cy.uploadPdfFile('[data-cy="file-input"]', 'QATest_1.csv');
      
      
      Cypress.Commands.add('uploadCSVFile', (selector, fileName) => {
      cy.fixture(fileName).then((fileContent) => {
          cy.get(selector).upload({ fileContent, fileName, mimeType:'application/csv' }, { subjectType: 'input' });
      });
      

      });

      【讨论】:

      • cy.uploadPDfFile 不是函数 :(
      • 对对,把这个方法uploadPDfFile放在/support/command.js里面
      • 我得到这个:在以下任何路径中都找不到夹具文件:> cypress\fixtures\QATest_1.csv > cypress\fixtures\QATest_1.csv{{extension}}
      • 我忘了说你必须安装这个插件"cypress-file-upload" 不确定在fixture 的错误会消失之后但让我们先尝试安装插件,{{extension}} 是什么意思?
      • 感谢您的帮助
      【解决方案3】:

      你可以试试cypress-file-uploadhttps://www.npmjs.com/package/cypress-file-upload模块 你应该可以做到的

      cy.get('[data-cy="file-input"]').attachFile(yourDownloadFolderPath, { force: true });
      

      【讨论】:

      • 我收到此错误:在以下任何路径中都找不到固件文件:> cypress\fixtures\C:\Users\victo\Downloads\QATest_1.csv
      猜你喜欢
      • 2017-04-16
      • 1970-01-01
      • 2021-12-05
      • 1970-01-01
      • 2022-10-20
      • 1970-01-01
      • 2014-06-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多