es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

En una nueva ventana con una URL en blanco, ¿cómo puedes proveer una ruta desde la cual encontrar recursos relativos?

Esta pregunta comenzó con una prueba del Robot Framework contra un sitio web público con muchas funcionalidades. Como parte de los datos generados por la prueba, quería capturar capturas de pantalla. El informe completo está formateado como HTML con fuentes de datos en JavaScript. Entonces, RF coloca los datos en el archivo .JS y el HTML los lee.

Tenía problemas con las imágenes. No aparecían en la ventana emergente del informe y no podía entender por qué.
enter image description here

Las rutas exportadas desde RF eran relativas y funcionaban perfectamente desde la página principal del informe, pero no en la ventana emergente.
enter image description here

El problema parece ser que una ventana emergente “en blanco” no tiene window.location desde la cual buscar recursos. Incluso realicé un experimento rápido para mostrar que toda la ruta desde la ventana principal (izquierda) no era accesible desde la ventana emergente (derecha).

enter image description here

Gracias a un comentario sobre rutas absolutas en lugar de relativas, actualicé el código de RF para generar rutas absolutas. Ahora mi código tiene el efecto que quiero, pero me queda una pregunta sobre ventanas en blanco y rutas.

enter image description here

Puedo hacer que las imágenes funcionen, pero también tengo hojas de estilo y archivos de JavaScript a los que me gustaría hacer referencia. Por ahora, estoy escribiendo todo línea por línea, lo cual parece excesivo. Seguramente hay una forma de configurar una ruta para una nueva ventana que se pueda utilizar como punto de partida para recursos relativos.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Solución para que las rutas relativas no muestren imágenes en el informe de ventana emergente

    Problema:

    • Las pruebas de Robot Framework generan datos con capturas de pantalla, que se almacenan en un archivo JavaScript.
    • El informe está formateado en HTML y contiene ventanas emergentes.
    • Las rutas relativas exportadas desde RF funcionan bien en la página principal pero no en el informe de ventana emergente.

    Razón:

    • Una ventana emergente “en blanco” no tiene una window.location desde la cual buscar recursos.
    • Por lo tanto, no se puede acceder a los recursos utilizando una ruta relativa.

    Solución:

    • Utilice rutas absolutas en lugar de rutas relativas.
    • Actualice el código de RF para generar rutas absolutas.
    • Esto permitirá que la ventana emergente acceda a los recursos.
    • Por ejemplo:
      ${screenshot_dir}=   Ruta Absoluta   ${REPORT_DIR}/screenshots
      Capture Page Screenshot    ${screenshot_dir}/mypage.png
      
    • Esto almacenará la captura de pantalla en una ruta absoluta, que la ventana emergente podrá acceder.

    • Para otros recursos como hojas de estilo y archivos JavaScript, agrúpelos en una carpeta y proporcione una ruta absoluta.
    • De esta forma, no necesitará escribir todo línea por línea, lo cual puede ser excesivo.

Comments are closed.