Upload file | Cypress | Test & QA
- Upload file | Cypress | Test & QA
Código usado
describe('Upload a file', () => {
beforeEach(() => {
cy.visit(`${Cypress.env('demoQA')}/upload-download`);
});
it('Upload a file', () => {
const fileName = 'example.json';
cy.get('input#uploadFile').attachFile(fileName);
cy.get('p#uploadedFilePath').should('have.text', fileName);
});
});
Estrutura do Cenário de Teste
describe('Upload a file', () => {
beforeEach(() => {
cy.visit(`${Cypress.env('demoQA')}/upload-download`);
});
Explicação:
describe: agrupa os testes relacionados ao upload de arquivosbeforeEach: executado antes de cada testecy.visit: acessa a página de upload/downloadCypress.env(): utiliza variável de ambiente para montar a URL
Teste – Upload de Arquivo
it('Upload a file', () => {
const fileName = 'example.json';
cy.get('input#uploadFile').attachFile(fileName);
cy.get('p#uploadedFilePath').should('have.text', fileName);
});
Explicação detalhada:
-
const fileName = 'example.json':- Define o nome do arquivo que será enviado
- O arquivo deve existir na pasta
cypress/fixtures
-
cy.get('input#uploadFile'):- Seleciona o campo de upload do tipo
input[type=file]
- Seleciona o campo de upload do tipo
-
.attachFile(fileName):- Anexa o arquivo ao campo de upload
- Método fornecido pelo plugin
cypress-file-upload
-
cy.get('p#uploadedFilePath'):- Seleciona o elemento que exibe o nome do arquivo enviado
-
.should('have.text', fileName):- Valida que o nome do arquivo exibido corresponde ao arquivo enviado