1
resposta

[Cypress] Módulo 3 - Faça como eu fiz

Todas as maneiras de realizar o loop no teste demonstrada nas aulas e na internet geravam erros enormes de path, JSON e principalmente Wepback Compilation Error. Esta foi única maneira que encontrei de realizar o loop no teste para cadastrar múltiplos usuários depois de estudar a documentação do cypress para evitar o uso de request:

it('registra usuário corretamente', () => { 
        cy.fixture('usuarios').then((userData)=> {
            for(var i = 0; i < userData.length; i++){
                cy.contains('a', 'Register now').click();
                cy.get('input[formcontrolname="email"]').type(userData[i].email);
                cy.get('input[formcontrolname="fullName"]').type(userData[i].fullName);
                cy.get('input[formcontrolname="userName"]').type(userData[i].userName);
                cy.get('input[formcontrolname="password"]').type(userData[i].password);
                cy.contains('button', 'Register').click();
                cy.visit('https://alura-fotos.herokuapp.com/#/home');
            }
        })
    })

meu JSON:

[
    {
        "fullName": "Matteo Carvalho",
        "userName": "matteo",
        "email": "matteo@teste.com",
        "password": "12345678"
    },
    {
        "fullName": "Ana Beatriz Lopes",
        "userName": "anabia",
        "email": "anabia@teste.com",
        "password": "12345678"
    },
    {
        "fullName": "Marcella Carvalho",
        "userName": "massela",
        "email": "massela@teste.com",
        "password": "12345678"
    }
]
1 resposta

Oi Matteo, tudo bem?

Desculpe a demora em retornar.

Parabéns pela sua dedicação em encontrar uma solução eficiente para o loop no teste de cadastro de múltiplos usuários! Entendo que você enfrentou dificuldades com outras abordagens e buscou uma alternativa que fosse mais adequada para o seu caso específico.

Utilizar o cy.fixture para carregar os dados de usuários de um arquivo externo é uma ótima prática, pois isso permite que você mantenha os dados separados do código do teste, tornando-o mais legível e fácil de manter.

A estrutura do loop que você implementou parece estar correta e lógica. Ao iterar sobre os dados de usuários carregados do arquivo JSON, você realiza o cadastro de cada usuário individualmente. Isso é muito importante para verificar se o sistema é capaz de lidar com o cadastro de vários usuários sem problemas.

A utilização dos seletores corretos para interagir com os elementos do formulário também é essencial, e parece que você fez isso de forma adequada.

No geral, o seu teste é muito bem estruturado e demonstra seu entendimento do Cypress e de boas práticas de testes automatizados. Continue explorando a documentação do Cypress e praticando, pois isso o ajudará a aprimorar suas habilidades e a lidar com diversos cenários em seus testes.

Ótimo trabalho e continue assim!

Ah esse curso recebeu uma atualização, você pode verificar aqui:

Um abraço e bons estudos.