it-swarm.com.de

Festlegen der benutzerdefinierten Bildschirmauflösung in Selentests

Wie im folgenden Blog erwähnt, können wir die Bildschirmauflösung während der Selenium-Testläufe ändern. http://blog.testingbot.com/2013/03/15/screen-resolution-option-now-available-for-all-Selenium-tests

Versuchte den folgenden Code (wie in " https://saucelabs.com/docs/additional-config " erwähnt), stellte aber nicht die angegebene Auflösung ein. Steht dies für Selen noch nicht zur Verfügung?

DesiredCapabilities dc=new DesiredCapabilities();    
dc.setCapability("screen-resolution","1280x1024");
8
Srikanth Nakka

Sauce Labs! = Selen

Sauce Labs verwenden diese Funktion, um Ihnen eine VM mit der gewünschten Auflösung bereitzustellen. Diese Funktion ist Selen nicht bekannt.

Selen ist nicht in der Lage, Ihre Desktop-Auflösung zu ändern!

Wenn Sie die Größe Ihres Browsers in Selen so ändern möchten, dass sie einer bestimmten Auflösung entspricht, können Sie Folgendes tun:

driver.manage().window().setSize(new Dimension(1024, 768))

Das oben Genannte wird mit dem Opera-Treiber nicht unterstützt. Stattdessen müssten Sie Folgendes tun:

DesiredCapabilities capabilities = DesiredCapabilities.opera()
capabilities.setCapability("opera.arguments", "-screenwidth 1024 -screenheight 768")

Das Einstellen der Browsergröße entspricht zwar nicht dem Einstellen der Bildschirmauflösung, sollte jedoch in jeder Hinsicht Ihren Anforderungen entsprechen.

21
Ardesco

Selenium ist ein Browser-Automatisierungsframework, dessen Aufgabe es ist, einen Browser zu steuern und nicht Ihr System zu automatisieren. Ich glaube nicht, dass Funktionen wie das Einstellen einer Bildschirmauflösung jemals in Selen implementiert werden. Das Einstellen der Auflösung hat einfach nichts mit der Browser-Automatisierung zu tun.

Ich bin mir nicht sicher, warum Sie die Auflösung ändern möchten ... Wie wäre es, wenn Sie nur die Größe Ihres Browserfensters ändern? Das können Sie tun, wenn Sie responsive gestaltete Seiten testen.

driver.manage().window().setSize(new Dimension(800, 600));
4
JacekM

Der Zweck von DesiredCapabilities besteht darin, dem Grid mitzuteilen, wo Ihre Tests ausgeführt werden sollen.

Wenn also ein Remote-Knoten mit der von Ihnen angegebenen Auflösung 1280x1024 mit dem Grid verbunden ist, wird der Test auf diesem Knoten ausgeführt. Wenn andere Knoten diese Auflösung nicht haben, wird der Test auf diesen Knoten nicht ausgeführt.

Wenn Sie in der DesiredCapabilities keine Bildschirmauflösung angeben, wird der Test auf Knoten mit einer beliebigen Auflösung ausgeführt.

Diese Funktion von Selenium ändert oder modifiziert die Bildschirmauflösung eines Testknotens nicht. Es teilt dem Grid nur mit, auf welchen Knoten Ihre Tests ausgeführt werden sollen oder nicht.

1
Pat Meeker

Was Sie tun möchten, geschieht wahrscheinlich am besten mit nativem Java-Code und nicht mit Selenium, einem Testframework für Webbrowser.

Die Frage der Änderung der Auflösung über Java wurde in einem anderen Thread hier auf StackOverflow behandelt.

swing - Bildschirmauflösung in Java ändern

Obwohl ich neugierig bin, warum Sie dies versuchen, da Sie dies oben nicht erklärt haben und möglicherweise zu einer besseren Reaktion der Community führen. =)

0
Stephen B.