Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida sobre execução de teste

Por favor, gostaria que alguém me esclarecesse sobre como consigo que o cypress realize a ação de encontrar esse elemento na página e clicar. Já tentei de várias formas e não consegui.

cy.contains('circle', 'masculino').click() cy.contains('svg', 'masculino').click()

Alguém poderia me dar uma luz? Obrigado!

O clique é para ser realizado no botão abaixo:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas
solução!

Olá, Ruben! Tudo bem?

Pelo que entendi, você está tentando clicar em um elemento SVG com o texto 'masculino'. Entendo que pode ser um pouco confuso, mas vamos tentar esclarecer isso juntos.

Primeiramente, é importante lembrar que o comando cy.contains() procura por um elemento que contenha o texto especificado. No seu caso, você está procurando por um elemento 'circle' ou 'svg' que contenha o texto 'masculino'. No entanto, elementos SVG geralmente não contêm texto diretamente, eles são usados para desenhar gráficos vetoriais e o texto geralmente está em um elemento 'text' separado.

Portanto, se o texto 'masculino' está realmente em um elemento 'text' dentro do SVG, você pode tentar encontrar esse elemento primeiro e então realizar a ação de clique. Algo assim:

cy.get('svg').contains('text', 'masculino').click();

Aqui, o cy.get('svg') seleciona o elemento SVG e o .contains('text', 'masculino') procura por um elemento 'text' que contenha o texto 'masculino' dentro do SVG. Finalmente, o .click() realiza a ação de clique.

No entanto, se o texto 'masculino' não está em um elemento 'text', mas é parte de um atributo ou de alguma outra parte do SVG, você pode precisar usar uma abordagem diferente para selecionar o elemento correto.

Por exemplo, se o texto 'masculino' é um valor de atributo, você pode usar algo assim:

cy.get('svg[campo="masculino"]').click();

Nesse caso, o cy.get('svg[campo="masculino"]') seleciona o elemento SVG que tem um atributo 'campo' com o valor 'masculino'. E o .click() realiza a ação de clique.

Espero que isso ajude a esclarecer a questão. Lembre-se, a chave é entender a estrutura do seu SVG e como o texto 'masculino' está sendo usado dentro dele.

Espero ter ajudado e bons estudos!

Obrigado pela contribuição!!!