2011-09-14 17 views
5

Estoy intentando configurar pruebas automatizadas de GUI en máquinas virtuales ESXi usando TestComplete. El problema, según tengo entendido, es que cuando no se realiza una conexión de escritorio remoto a la máquina virtual ESXi, es imposible que TestComplete realice capturas de pantalla y, por lo tanto, automatice la prueba de GUI. Por lo que yo entiendo, esto se debe al hecho de que Windows no genera ninguna interfaz de usuario cuando nadie lo está viendo.¿Cómo ejecutar pruebas automatizadas de GUI en una máquina virtual ESXi sin cabeza remota?

Estoy seguro de que otros han experimentado este problema. ¿Cómo lo resolvió? ¿Estás utilizando una computadora de terceros que inicia automáticamente las conexiones de escritorio remoto antes de ejecutar las pruebas?

¿Sería posible lanzar un escritorio remoto desde una máquina virtual sin cabeza a otra para fingir que alguien está viendo?

¿Alguna otra solución más inteligente en la que no haya pensado?

Respuesta

6

Usted debe ser capaz de iniciar sesión en Windows en la consola de la máquina virtual utilizando el cliente de vSphere, a continuación, cierre vSphere, y Windows todavía creen que el usuario está viendo la consola. Simple como eso. :)

Así que no debería haber necesidad de involucrar el escritorio remoto en la mezcla.

Mientras tus pruebas se ejecuten como usuario de Windows conectado, deberías estar bien.

Esta técnica siempre me ha funcionado con ciertas pruebas de Watir, Selenium y MS UI Automation que dependen de tener un escritorio interactivo.

Si necesita reiniciar la máquina virtual automáticamente antes o durante la prueba, en lugar de iniciar sesión manualmente en el cliente vSphere, puede hacer que Windows inicie sesión como usuario arbitrario automáticamente - marque el comando "control userpasswords2", o usted puede utilizar la aplicación Sysinternals "Inicio de sesión automático":

http://technet.microsoft.com/en-us/sysinternals/bb963905

único inconveniente de esta técnica es que se necesita para ser capaz de poner en marcha sus pruebas, mientras que no se están viendo la consola en la máquina virtual, pero suena como que ha Ya se ha ocupado de eso?

Si necesita una solución para iniciar sus pruebas de forma remota, le recomiendo usar Jenkins o Hudson para iniciar las pruebas/recopilar los resultados de la máquina virtual. Jenkins ha cambiado mi vida en este sentido.

+0

Esos son excelentes consejos y parece que va a resolver mis problemas por completo. ¡Gracias! – jonjbar

1

Es posible considerar el uso de la funcionalidad de red Suites de TestComplete: http://smartbear.com/support/viewarticle/16849/

Se puede abrir conexiones de escritorio remoto por su propia cuenta, pruebas de control en equipos remotos, y tirar de los troncos de nuevo al proyecto "maestro". Esta función está diseñada para ser utilizada en pruebas distribuidas, y parece que es justo lo que necesita.

En cuanto a la apertura de RDP a una máquina virtual sin cabeza, no debería ser un problema. Depende de Windows "pensar" sobre esto. Acaba de abrir RDP y funciona incluso si no hay un monitor conectado a la PC/VM remota.

espero que esto ayude, Alex

+0

Esto ayuda a pesar de que la respuesta de Bill será más fácil/más barata para mis necesidades. Gracias. – jonjbar

0

Siempre puede usar VNC con la opción "No hacer nada" al desconectar el visor. De esta manera, engañarás a Windows para generar la imagen.

Cuestiones relacionadas