Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

381
Visualizações
No se puede tomar una captura de pantalla del elemento sobrevolado en Cypress

Estoy tratando de tomar una captura de pantalla de un elemento con el efecto de desplazamiento, pero las capturas de pantalla siempre salen sin el efecto de desplazamiento.

 tableListMaps.lineWithText('Hello world', 'myLine'); cy.get('@myLine').realHover().within(() => { highlightElement(commonMaps.BUTTON_DOWNLOAD_INLINE); }); cy.screenshot('downloadScreenshot');

Si luego vuelvo y paso el mouse sobre este elemento, puedo ver que lo que estaba tratando de resaltar se resaltó correctamente, pero no fue capturado por la captura de pantalla.

¿Hay alguna manera de "fijar" el efecto de desplazamiento?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Limitación conocida. Consulte la documentación de dmtrKovalenko/cypress-real-events :

  1. ¿Por qué el estado flotante cy.realHover no se muestra en los servicios de regresión visual?

Desafortunadamente, los servicios de regresión visual como Happo y Percy no resuelven este problema. Su arquitectura se basa en guardar la instantánea dom, no la captura de pantalla, y luego renderizar la instantánea en sus máquinas. Significa que el estado de desplazamiento y enfoque se perderá si no se serializa manualmente.

Significa que si usará cy.screenshot simple, tomará una captura de pantalla con un estado flotante porque usará el navegador para hacer una captura de pantalla. Es posible probar el estado flotante con, por ejemplo, Visual Regression Tracker y cypress-image-snapshot.

about 4 years ago · Juan Pablo Isaza Relatório

0

Como lo señaló dmtrKovalenko aquí :

Sí, esto es probablemente imposible :) Cypress está trabajando en la preparación entre capturas de pantalla que romperán el desplazamiento

Pero me las arreglé para hacer una solución. La solución fue configurar manualmente el CSS esperado en estado flotante. Ejemplo:

 tableListMaps.lineWithText('Hello world', 'myLine'); cy.get('@myLine').within(() => { cy.get(commonMaps.BUTTON_DOWNLOAD_INLINE).then(($element) => { $element.css('visibility', 'visible'); }); highlightElement(commonMaps.BUTTON_DOWNLOAD_INLINE); }); cy.screenshot('downloadScreenshot');

Dado que al pasar el mouse sobre myLine, la visibilidad del botón se configuraría como "visible", lo que hice fue configurarlo yo mismo a través de CSS.

De esta manera, puedo tomar la captura de pantalla como si el elemento estuviera realmente sobrevolado. Luego configuré la visibilidad en oculto nuevamente y el color de fondo también en el original.

TL; DR: simplemente simule un efecto de desplazamiento con CSS y tome la captura de pantalla.

 cy.get(myElement).then(($element) => { $element.css('visibility', 'visible'); $element.css('background-color', '#F2F2F2'); });
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda