1
resposta

Não sei o que faz o código cy.on

Alguém poderia me ajudar? eu estou tentando entender o que significa esse código abaixo pois nas aulas não foram explicados pois eu acho que está faltando uma aula ou está fora de ordem.

   cy.on('window:alert', (str) => {
        expect(str).to.equal('Invalid user name or password');
    })
1 resposta

Oii Felipe, como você está?

Peço desculpas pela demora em obter um retorno.

O código cy.on é responsável por capturar algum evento que é emitido pelo navegador, seja uma alerta, seja uma exceção, seja uma confirmação, dentre outros. Essas capturas de eventos são essenciais para controlar o comportamento do aplicativo e também auxilia na depuração.

No caso do código da aula, o objetivo é capturar através do cy.on um evento de alerta do navegador, que é um pop-up que aparecerá no canto superior da tela do navegador, como mostro abaixo:

Imagem com fundo branco, que mostra uma janela no canto superior da janela do navegador, que mostra a mensagem: "cursos.alura.com.br diz" e abaixo: "invalid user name or password"

O cy.on também irá receber como parâmetro, o tipo que é exibido no evento, se é uma string (str), um número (number), dentre outros. Já dentro da função do cy.on, é colocado a asserção esperada - o expect, neste caso, que a mensagem do evento de alerta seja 'Invalid user name or password'. Caso seja uma mensagem diferente, o expect gerará uma exceção, um erro.

Caso queira conhecer outras possibilidades em relação ao cy.on, recomendo a leitura da documentação sobre o catálogo de eventos:

O conteúdo recomendado acima está em inglês, o uso da língua inglesa é bem comum na área de tecnologia, mas não se preocupe, caso não tenha afinidade com essa linguagem, recomendo que utilize o tradutor do navegador para uma melhor compressão.

Fico à disposição.

Grande abraço!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!