Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Bug] Erro com Charset no teste com Cypress

Olá pessoal,

Estava seguindo a aula "07 Criando o primeiro projeto" do módulo 1 e me deparei com um erro ao executar o código:

            assertexpected <h4.busca-resultado-nome> to have text Forma��o Certifica��o Java, but the text was Formação Certificação Java
            AssertionError
            Timed out retrying after 4000ms: expected '<h4.busca-resultado-nome>' to have text 'Forma��o Certifica��o Java', but the text was 'Formação Certificação Java'

Claramente é um erro de charset, mas não consegui achar uma solução na internet — e eu juro que tentei... muito :|

Segue abaixo como meu código está implementado:

                describe ('alura busca cursos', () => {

                  beforeEach(() => {
                        cy.visit('https://www.alura.com.br');

                    })

                    it  ('buscar curso de java', () => {

                        cy.get('#header-barraBusca-form-campoBusca').type('java');
                        cy.get('.header-barraBusca-form-submit').click();
                        cy.get(':nth-child(2) > .busca-resultado-link > .busca-resultado-container > .busca-resultado-nome').should('text', 'Formação Certificação Java');
                    })
                })

Alguém sabe como resolver isso? Grato.

1 resposta
solução!

Oi Gustavo, tudo bem?

Desculpe a demora em retornar.

Uma possível solução para esse problema é utilizar o comando cy.contains() em vez do cy.get().should('text'). O comando cy.contains() permite buscar um elemento com base no texto que ele contém.

No seu caso, você pode substituir a linha cy.get(':nth-child(2) > .busca-resultado-link > .busca-resultado-container > .busca-resultado-nome').should('text', 'Formação Certificação Java'); por:

cy.contains('.busca-resultado-nome', 'Formação Certificação Java');

Dessa forma, o Cypress irá buscar o elemento com a classe .busca-resultado-nome que contém o texto "Formação Certificação Java", independentemente de como os caracteres especiais estão sendo interpretados.

Espero que essa solução ajude a resolver o problema com o charset no seu teste.

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

Um abraço e bons estudos.