2009-06-03 13 views
16

Nei progetti con test end-to-end che gestiscono la GUI, è difficile eseguire i test su una workstation dello sviluppatore perché il driver di automazione della GUI interferisce con il desktop. Sposta il mouse, ruba l'attenzione dalle app che vogliamo utilizzare e può iniziare a digitare il testo nell'applicazione sbagliata se passiamo a un'altra app durante l'esecuzione di un test.C'è qualcosa come xvfb o xnest per Windows?

Su Linux abbiamo risolto questo problema eseguendo l'applicazione in prova su un server X virtuale (xvfb o xnest). Con xnest possiamo guardare i test in esecuzione ma utilizzare il desktop reale senza interferenze.

C'è qualcosa di equivalente per Windows?

risposta

5

Ho trovato un programma freeware denominato "RunProcess.exe" scritto da Frank P. Westlake che può eseguire un processo associato al desktop di una WindowStation non interattiva (ad esempio fuori dallo schermo). Tuttavia, non c'è fonte.

Quindi ho implementato la mia versione (più semplice di quella di Frank Westlake) con Java e JNA. È nel repository Window Licker nel modulo strumenti. La classe si chiama com.objogate.wl.win32.RunOnDesktop. Ad un certo punto potrei portarlo in C e renderlo un normale exe da riga di comando, o magari trasformarlo in un'attività Ant per eseguire test fuori schermo.

+0

qualcuno abbia ottenuto fortunato usando questo? –

+0

Sto provando a trovare la soluzione per lo stesso problema. Qualcuno lo ha provato? – DamianS1987

+0

come circa i problemi di tastiera e mouse di farlo fuori dallo schermo @Nat? – gumuruh

5

È possibile utilizzare l'applicazione "Desktops" dal pacchetto SysInternals. Esegui i test dell'interfaccia utente su un desktop e lavora su un altro.

+0

Non credo che funzionerà, ma quello che voglio è generare un processo dall'IDE (che gira sul mio desktop principale) e che le finestre di quel processo appaiano su un desktop fuori dallo schermo, non è così che i "desktop" sembra funzionare. – Nat

+0

Ho avuto questo stesso è Sue e questa soluzione ha funzionato per me. Puoi generare il tuo processo direttamente dal desktop "nascosto" e mantenerlo funzionante e tornare al desktop principale, grazie a Yauheni Sivukha per questa soluzione – sam

+0

Questo risolve davvero la domanda originale in cui un problema era che il driver di automazione sposta il mouse ? Quindi ci dovrebbero essere indicatori/input del mouse separati sui diversi desktop. – Zitrax

0

Ho appena provato il metodo desktop multiplo sul mio computer Windows 10. Sto eseguendo test Selenium Javascript. Ho iniziato i test su un altro desktop e ho aspettato che aprisse il browser, quindi tornò al mio desktop principale. Ma allo stesso punto in cui il browser Chrome sarebbe diventato la finestra attiva, ora in realtà mi ha costretto di nuovo a quel desktop :-(

penso Cercherò RunProcess.exe, o una soluzione di Nat.

+1

Ho appena provato lo strumento Sysinternals Desktops https://technet.microsoft.com/en-us/sysinternals/cc817881.aspx e funziona correttamente per me. Quando ho lanciato un test su quell'altro desktop non c'era interazione con il mio desktop originale :-) – LeeD

Problemi correlati