Skip to main content

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 arquivos
  • beforeEach: executado antes de cada teste
  • cy.visit: acessa a página de upload/download
  • Cypress.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]
  • .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