Как я могу загрузить файл CSV, расположенный в моей папке загрузок с Cypress? - PullRequest
0 голосов
/ 08 апреля 2020

У меня есть тест, который загружает файл после нажатия кнопки, которая сохраняется в моей папке загрузки. Мне нужно загрузить этот же файл на другой экран.

У меня есть этот код:

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"

Ответы [ 3 ]

2 голосов
/ 09 апреля 2020

можете попробовать это

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' });
});

});

2 голосов
/ 08 апреля 2020

вы можете попробовать cypress-file-upload https://www.npmjs.com/package/cypress-file-upload модуль, и вы должны быть в состоянии сделать это

cy.get('[data-cy="file-input"]').attachFile(yourDownloadFolderPath, { force: true });
1 голос
/ 15 апреля 2020

Наконец-то сработало, с этим фрагментом кода:

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'

...