2011-11-01 23 views
5

Estoy usando watir-webdriver para navegar por mi sitio web y tomar capturas de pantalla en diferentes navegadores.capturas de pantalla de watir-webdriver black

En ocasiones, las capturas de pantalla tomadas en IE tienen el tamaño correcto, pero están completamente en color negro. Las pruebas de Firefox que se ejecutan al mismo tiempo se ven bien.

browser.driver.save_screenshot(screenshot_dir) 

Una vez que remito el escritorio a la computadora que ejecuta las pruebas, las capturas de pantalla de IE vuelven a estar bien. Un poco después de salir del escritorio remoto, las capturas de pantalla de IE se vuelven negras nuevamente.

Estoy ejecutando estas pruebas en una instancia de Windows Server ejecutándose en ec2.

Respuesta

5

Según su comentario de que el acceso remoto a la máquina resuelve el problema por un tiempo ... deshabilite el protector de pantalla en esa caja. No estoy seguro de cómo (si es que lo hace) las funciones de captura de pantalla en IE y FF son diferentes, pero vale la pena el tiempo que tomaría probar el cambio.

Editar: Sigo teniendo la sensación de que está relacionado con la configuración de Windows/Power cuando ingresa en el cuadro parece tener un efecto, pero no sé qué más específicamente podría ser. Intenté un enfoque programático debajo de vvv.

+0

buenos instintos, será interesante ver si ese es el problema –

+1

Este problema me pasa si la pantalla se bloquea, por lo que también me aseguro de que la configuración de energía esté configurada para mantener el monitor encendido. – kinofrost

+0

Apagar el protector de pantalla fue lo primero que intenté ... :( Buena idea, aunque – will

0

Aquí está el código que estoy usando para capturar capturas de pantalla (Watir-Webdriver, Cucumber). Utilizo máquinas virtuales remotas de Windows XP para mis cuadros de prueba, y no he encontrado el problema usando Firefox o Internet Explorer.

Encontramos que cuando ve el registro con la captura de pantalla incrustada, parece que no funciona en IE, por lo que debe usar Firefox para visualizarlo. Es base64, por lo que no parece haber una razón lógica para esto.

After do |scenario| 
    if scenario.failed? 
     encoded_img = @browser.driver.screenshot_as(:base64) 
     embed("data:image/png;base64,#{encoded_img}", 'image/png') 
    end # 
end 
+0

has probado las versiones de 32 bit y 64 bit de IE? –

+0

Tengo, pero no estoy seguro acerca de la OP. 64 bits, XP 32 bits. –

+0

Me refería específicamente al navegador. En un sistema operativo de 64 bits, normalmente tendrá una versión de IE de 32 bits que se abrirá de manera predeterminada, y una versión de 64 bits que también podrá invocar. Comience => Todos los programas, y mire cerca de la parte superior de la lista, debería ver las dos versiones indicadas. Mi idea era que la versión de 64 bits podría funcionar mejor para ver el archivo que parece que solo puede verse en FF –

1

Por lo que dices, parece que el sistema de Windows se bloquea automáticamente, como debería. Esto explicaría por qué las capturas de pantalla funcionan bien cuando se inicia de forma remota, y luego se pone de color negro varios minutos más tarde cuando el protector de pantalla se activa y bloquea el sistema.

Si el sistema de Windows está bloqueado, las capturas de pantalla quedan oscurecidas. Esta es una característica de seguridad de Windows.

Me gustaría saber si FF realmente capta las capturas de pantalla en un sistema bloqueado.

+1

Empecé a ejecutar las pruebas como un servicio (sin iniciar sesión en la máquina durante días). Las pruebas FF todavía funcionan. – will

Cuestiones relacionadas