2009-06-03 18 views
16

En proyectos con pruebas integrales que controlan la GUI, resulta incómodo ejecutar las pruebas en una estación de trabajo de desarrollador porque el controlador de automatización de GUI interfiere con el escritorio. Mueve el mouse, quita el foco de las aplicaciones que queremos usar y puede comenzar a escribir texto en la aplicación incorrecta si cambiamos a otra aplicación durante una prueba.¿Hay algo como xvfb o xnest para Windows?

En Linux hemos resuelto esto ejecutando la aplicación bajo prueba en un servidor X virtual (xvfb o xnest). Con Xnest podemos ver las pruebas ejecutándose pero aún usar el escritorio real sin interferencias.

¿Hay algo equivalente para Windows?

Respuesta

5

Encontré un programa gratuito llamado "RunProcess.exe" escrito por Frank P. Westlake que puede ejecutar un proceso vinculado al escritorio de una WindowStation no interactiva (por ejemplo, fuera de la pantalla). Sin embargo, no hay fuente.

Por lo tanto, he implementado mi propia versión (más simple que la de Frank Westlake) con Java y JNA. Está en el repositorio Window Licker en el módulo de herramientas. La clase se llama com.objogate.wl.win32.RunOnDesktop. En algún momento puedo portarlo a C y convertirlo en un .exe de línea de comando normal, o quizás convertirlo en una tarea Ant para ejecutar pruebas fuera de la pantalla.

+0

cualquier persona tiene Suerte con esto? –

+0

Estoy tratando de encontrar la solución para el mismo problema. ¿Alguien más lo intentó? – DamianS1987

+0

¿qué hay de los problemas del teclado y el ratón de hacerlo fuera de la pantalla @Nat – gumuruh

5

Puede usar la aplicación "Desktops" del paquete SysInternals. Ejecute pruebas de IU en un escritorio y trabaje en otro.

+0

Desafortunadamente No creo que eso vaya a funcionar. Lo que quiero es generar un proceso desde el IDE (que se ejecuta en mi escritorio principal) y para que las ventanas de ese proceso aparezcan en un escritorio fuera de la pantalla. Esa no es la forma en que los "Escritorios" parece funcionar. – Nat

+0

Tuve esto mismo es sue y esta solución funcionó para mí. Puede generar su proceso directamente desde el escritorio "oculto" y mantenerlo funcionando allí y volver a su escritorio principal, gracias a Yauheni Sivukha por esta solución – sam

+0

¿Esto realmente soluciona la pregunta original donde un problema era que el controlador de automatización mueve el mouse? ? Entonces tendría que haber punteros de mouse/entrada separados en los diferentes escritorios. – Zitrax

0

Acabo de probar el método de escritorio múltiple en mi máquina con Windows 10. Estoy ejecutando pruebas de Selenium Javascript. Comencé las pruebas en otro escritorio y esperé a que abriera el navegador, luego volví a mi escritorio principal. Pero al mismo punto en el navegador Chrome se convertiría en la ventana activa, ya que en realidad me obligó de nuevo a ese escritorio :-(

Creo que voy a tratar RunProcess.exe, o solución de Nat.

+1

Acabo de probar la herramienta Sysinternals Desktops https://technet.microsoft.com/en-us/sysinternals/cc817881.aspx y funciona bien para mí. Cuando lancé una prueba en ese otro escritorio no hubo interacción con mi escritorio original :-) – LeeD

Cuestiones relacionadas