2013-09-03 11 views
7

In dem unten genannten Blog können wir die Bildschirmauflösung während Selen-Testläufen ändern. http://blog.testingbot.com/2013/03/15/screen-resolution-option-now-available-for-all-selenium-testsAngeben der benutzerdefinierten Bildschirmauflösung in Selenium-Tests

Ich habe den folgenden Code (wie in "https://saucelabs.com/docs/additional-config" erwähnt) versucht, aber nicht die angegebene Auflösung einstellen. Ist dies für Selen noch nicht verfügbar? Bitte jemand mir helfen.

DesiredCapabilities dc=new DesiredCapabilities();  
dc.setCapability("screen-resolution","1280x1024"); 
+0

In welcher Weise funktioniert es nicht? –

+0

Ich weiß nicht, ob es richtig ist oder nicht, das zu überprüfen. Ausprobiert, aber nicht die Auflösung einstellen.
Zugriff auf die folgende Website [driver.get ("http://www.whatismyscreenresolution.com/");], nachdem die obige Funktion festgelegt wurde. –

Antwort

19

Sauce Labs = Selen

Sauce Labs, dass die Fähigkeit zur Bereitstellung verwenden Sie eine VM mit der gewünschten Auflösung, es ist nicht eine Fähigkeit, die Selen selbst kennt.

Selen kann Ihre Desktop-Auflösung nicht ändern!

Wenn Sie Ihren Browser Größe in Selenium ändern möchten, so dass sie eine bestimmte Auflösung passt Sie tun können:

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

Die oben nicht mit Opera-Treiber unterstützt wird, so stattdessen würden Sie tun müssen, :

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

Während die Browsergröße Einstellung als die Einstellung der Bildschirmauflösung nicht das gleiche ist, sollte es für alle Absichten und Zwecke erfüllen Ihre Anforderungen.

1

Der Zweck DesiredCapabilities ist das Grid zu sagen, wo Ihre Tests auszuführen.

Wenn also ein Remote-Knoten mit der von Ihnen angegebenen Auflösung mit der Auflösung 1280x1024 verbunden ist, wird der Test auf diesem Knoten ausgeführt. Wenn andere Knoten diese Auflösung nicht haben, wird der Test nicht auf diesen Knoten ausgeführt. Wenn Sie keine DesiredCapabilities Bildschirmauflösung angeben, wird der Test auf Knoten mit beliebiger 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 die Tests ausgeführt werden oder nicht.

+0

Aber sie erwähnten, wir können die Bildschirmauflösung unter Windows, Linux und Mac ändern/anpassen ..? [link] (http://blog.testingbot.com/2013/03/15/screen-resolution-option-now-available-for-all-selenium-tests). –

+1

Schlechte Wortwahl ihrerseits fürchte ich. –

0

Was Sie interessiert, ist wahrscheinlich am besten durch nativen Java-Code und nicht durch Selenium, das ein Webbrowser-Testframework ist.

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

swing - Change screen resolution in Java

Obwohl ich bin neugierig, warum Sie versuchen, dies zu tun, da Sie nicht die oben hätten zu erklären und kann zu einer besseren Reaktion der Gemeinschaft führen. =)

+1

In unserer Testautomatisierungsinfrastruktur ist das gleiche Problem aufgetreten. Das Problem ist Windows Standardeinstellungen auf eine sehr kleine Bildschirmgröße (ich nehme an, 800x600) und dann, wenn die zu testende Website eine so kleine Auflösung ohne überlappende UI-Elemente nicht unterstützt, und der Browser wird einige Tests für Elemente, die nicht mehr sind sichtbar. –

3

Selen ist ein Browser-Automatisierungs-Framework, dessen Aufgabe es ist, einen Browser zu steuern, nicht um Ihr System zu automatisieren. Ich denke nicht, dass eine Funktionalität wie das Einstellen einer Bildschirmauflösung jemals in Selenium implementiert wird. Die Einstellung 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, nur die Größe Ihres Browser-Fensters zu ändern? Das können Sie tun, wenn Sie Responsive-Design-Seiten testen.

driver.manage().window().setSize(new Dimension(800, 600)); 
+0

Die von mir getestete Website ist [responsive] (https://en.wikipedia.org/wiki/Responsive_web_design). Das Markup ändert sich von großen zu kleinen Haltepunkten. –

Verwandte Themen