brugergrænseflade - Er der noget som xvfb eller xnest til Windows?

Indlæg af Hanne Mølgaard Plasc

Problem



På projekter med end-to-end-tests, der kører GUI'en, er det akavet at køre testene på en udviklerarbejdsstation, fordi GUI-automatiseringsdriveren interfererer med skrivebordet. Det bevæger musen, stjæler fokus væk fra apps, vi vil bruge, og kan begynde at skrive tekst til den forkerte applikation, hvis vi skifter til en anden app under et testkørsel.


På Linux har vi løst dette ved at køre applikationen under test på en virtuel X-server (xvfb eller xnest). Med xnest kan vi se testene køre, men benyt det egentlige skrivebord uden indblanding.


Er der noget tilsvarende for Windows?

Bedste reference


Du kan bruge 'Desktops' -applikation fra SysInternals-pakken. Kør UI-test på et skrivebord og arbejde på en anden. [2]

Andre referencer 1


Jeg fandt et freeware program kaldet 'RunProcess.exe' skrevet af Frank P. Westlake, der kan køre en proces, der er bundet til skrivebordet på en ikke-interaktiv (f.eks. Off-screen) WindowStation. Der er dog ingen kilde.


Derfor har jeg implementeret min egen version (enklere end Frank Westlake 's) med Java og JNA. Det er i vinduet Licker depot i værktøjsmodulet. Klassen hedder com.objogate.wl.win32.RunOnDesktop. På et tidspunkt kan jeg sende det til C og gøre det til en normal kommandolinje .exe eller måske omdanne den til en Ant opgave for at køre tests off-screen. [3]

Andre referencer 2


Jeg har lige prøvet den multiple desktop-metode på min Windows 10-maskine. Jeg kører Seleni Javascript-test. Jeg startede testene på et andet skrivebord og ventede på at åbne browseren og derefter skifte tilbage til mit hovedskrivebord. Men på samme tidspunkt hvor Chrome-browseren ville blive det aktive vindue, nu er det faktisk tvunget mig tilbage til skrivebordet :-(


Jeg tror, ​​jeg vil prøve RunProcess.exe eller Nat's løsning.