2016-09-22 8 views
8

Meine Winkelmessertests funktionieren auf meinem lokalen Computer und auf Azure VM Windows Server 2012 R2 beim Zugriff über RDP. Ich setze die Browserfensterauflösung in meinen Tests explizit unter Verwendung von browser.driver.manage().window().setSize(1600, 900); und es ermöglicht Tests, ordnungsgemäß zu funktionieren.Ändern der Bildschirmauflösung der VSTS-Agentensitzung beim Ausführen von Winkelmessertests

Wenn jedoch die oben genannte VM als Build-Maschine verwendet wird, die vom VSO (VSTS) -Agenten gesteuert wird, schlagen meine Winkelmesser-Tests fehl. Ich vermute, dass dies passiert, weil die Bildschirmauflösung für die VSO Agent-Sitzung kleiner ist als die in meinen Tests angegebene Auflösung, und WebDriver (ChromeDriver) kann die Auflösung nicht höher als die Betriebssystembeschränkung einstellen.

Meine Frage ist, wie Bildschirmauflösung von Azure VM für VSO Agent Sitzung ändern?

habe ich versucht, benutzerdefinierte Dienstprogramm Bildschirmauflösung von here zum Ändern und es funktioniert auf meinem PC, aber wenn es von VSTS-Agent auf Azure VM ausgeführt wird, wirft es Fehler:

System.InvalidOperationException: The display driver failed the specified graphics mode. 
+0

habe ich eine VM auf Azure (Windows Server 2012 R2) und mit dieser Maschine durch RDP verbunden ist, ist die Auflösung von 1600 x 900, ebenfalls auf der Grundlage dieses Werkzeug (dccmd -listmonitors), die Auflösung beträgt 1600 x 900 auch. Wie lautet die Auflösung Ihrer VM? –

+0

Wenn ich eine Verbindung zu Azure VM über RDP-Auflösung ist 1600x900, wie auf meinem Laptop, aber ich denke, das ist von RDP-Videoadapter festgelegt. Wenn UI-Tests vom VSO-Agenten auf dieser VM ausgeführt werden, gibt es keine RDP-Sitzung. Daher wird der Microsoft Hyper-V-Videoadapter mit der Standardauflösung 1024 x 768 verwendet. Muss verstehen, ob es möglich ist, es zu ändern. – twinmind

+0

Was ist das Ergebnis von Get-DisplayResolution (Powershell)? (run powershell script während des Builds) –

Antwort

2

Um den Transporteur zu laufen Tests benötigt der Agent eine interaktive Sitzung. Konfigurieren Sie den Agenten so, dass er interaktiv statt als Dienst ausgeführt wird.

It did help to run agent in interactive. When I connect to my build machine via RDP it gets screen resolution of my client machine. Then when I launch vso agent and disconnect by RDP, this display resolution remains on build machine, so selenium can maximize browser window.

+0

haben Sie einen Weg gefunden, es ohne Anmeldung in RDP zu laufen? – veritas

Verwandte Themen