(Discutí entre publicar esto aquí, ServerFault y StackOverFlow. Resolvimos esto. Espero que esté en el lugar correcto).
Ejecutamos nuestro conjunto de pruebas de interfaz de usuario usando Selenium Grid 2 con una máquina Windows Amazon EC2 (que se inició con las API CloudFormation de Amazon). Mi pregunta es, ¿cómo cambio la resolución de esa máquina?
Si me remuevo en él, puedo especificar la resolución usando Escritorio remoto. Pero obviamente eso no cambia permanentemente la resolución. Cuando ejecutamos nuestras pruebas, la resolución es tan pequeña que el navegador junta los elementos y hace que las pruebas fallen.
¿Algunas ideas? ¿Hay algo que pueda poner en la receta de CloudFormation? ¿Hay algo que pueda hacer a la imagen antes de crear el AMI?
Gracias.
mstsc.exe /console
Respuestas:
Descargo de responsabilidad: TightVNC no es seguro, por lo que si la seguridad es un problema, es posible que deba encontrar un enfoque diferente. Todo el proceso tomará solo unos minutos, por lo que el agujero de seguridad es pequeño, pero no obstante.
fuente
Puede cambiar la resolución de la pantalla modificando dos valores de registro. Estos dos valores son:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Video\GUID\0000\DefaultSettings.XResolution
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Video\GUID\0000\DefaultSettings.YResolution
Donde GUID es un GUID generado aleatoriamente.En realidad, puede especificar cualquier valor de XResolution e YResolution siempre que sean hexadecimales.
Nota: En el caso de un monitor CRT, especificar una resolución absurda podría dañar su monitor. En el caso de un monitor LCD, es posible que su monitor ya no muestre ninguna interfaz de usuario. Una buena manera de cambiar la resolución de la pantalla es anotar la cantidad de píxeles con los que desea llenar el ancho de la pantalla (esta es la resolución X) y la cantidad de píxeles que desea en la altura de la pantalla (la resolución Y). La calculadora de Windows (no disponible en Server Core, tendrá que buscar otra computadora o una calculadora avanzada de hardware) ofrece una manera fácil de convertir cantidades decimales en cantidades hexadecimales. Luego puede usar estos valores para modificar los valores de registro correspondientes. Un reinicio hará que su resolución de pantalla preferida se haga realidad.
La profundidad de color utilizada en su monitor se captura en el siguiente valor de registro:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Video\GUID\0000\DefaultSettings.BitsPerPel
en mi cuadro, este valor hexadecimal se estableció en 0x00000008 (8), lo que significa que mi pantalla utilizó una profundidad de color de 8 bits. (256 colores) Al cambiarlo a 16 bits (0x00000010) se mostrarán 65536 colores (colores altos) Otros valores que suelen estar disponibles son 24 bits (0x00000018) y 32 bits (0x00000020).Fuente
fuente
Pude hacer que esto funcionara usando una combinación de la respuesta de @ kenny-trytek anterior y configurando el inicio de sesión automático.
Creo que la resolución de VNC solo se establece para el usuario actual, por lo que configurar el inicio de sesión automático garantiza que este usuario tenga una sesión abierta.
Configurar inicio de sesión automático https://support.microsoft.com/en-us/kb/324737
A continuación, en la carpeta Inicio de usuarios, proporcione un acceso directo o un archivo bat para iniciar el proceso del nodo de selenio.
fuente
Intenté todo lo anterior y fallé. Encontré una solución única para mi situación que era simple ... usar Windows Power-Shell.
escribió el script de power-shell
nómbralo resolution.ps1
guardado en C: \ myTestFolder
y ejecutarlo desde la línea de comandos como se muestra a continuación ... (mis scripts están controlados por archivos por lotes)
fuente
Así es como configuro la resolución de pantalla sin cabeza en Windows de AWS usando RDP:
Tenga en cuenta que el inicio de sesión automático requiere un nombre de usuario y una contraseña y que la contraseña se almacena sin cifrar en el registro de Windows HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon.
Probado en Amazon Windows Server 2012 R2 AMI.
Aquí hay un libro de cocina de Chef que hace lo anterior: https://github.com/dhoer/chef-windows_screenresolution
fuente