Aus irgendeinem Grund wird der Browser maximiert, wenn ich meine Tests bei der Arbeit ausführe. Wenn ich sie jedoch zu Hause ausführe, wird nur ein Browserfenster mit einer Breite von ca. 50% geöffnet. Dies führt zu einigen Unstimmigkeiten beim Scrollen nach unten usw., daher möchte ich, dass auf jedem Computer, auf dem die Tests ausgeführt werden, ein Browserfenster gleicher Größe geöffnet wird. Was ist der beste Weg, dies zu tun? (Ich habe einige Antworten für andere Sprachen gefunden, konnte sie jedoch nicht an Javascript anpassen.)
Hinzufügen
browser.executeScript('window.moveTo(0,0);'+
'window.resizeTo(screen.width, screen.height);');
tut nichts (anscheinend window.moveTo
und window.resizeTo
werden nicht von Chrom unterstützt).
window.moveTo
und werdewindow.scrollTo
definitiv von Chrome unterstützt.window.moveTo
undwindow.resizeTo
. Es funktioniert gut für mich in Chrome. Ich weiß nicht, dass Sie die Größe des aktuellen Fensters über die Konsole in Chrome ändern können, aber die Tatsache, dass dieresizeTo
Methode dort verfügbar ist, zeigt an, dass Chrome sie unterstützt.Antworten:
Sie können die Standardgröße des Browsers festlegen, indem Sie Folgendes ausführen:
So maximieren Sie die Ausführung des Browserfensters:
So stellen Sie den Positionslauf ein:
Wenn Sie eine Fehlermeldung erhalten:
Quelle: https://sites.google.com/a/chromium.org/chromedriver/help/operation-not-supported-when-using-remote-debugging
quelle
browser.driver.manage().window().maximize();
protractor.conf.js
genanntenonPrepare
Funktionen in der Funktion Ihrer Datei aufrufen .browser.driver.manage().window().maximize();
maximiert aber nicht wirklich das Fenster für mich. Ich bekomme nur ein etwas größeres Fenster. IchsetSize()
Sie können auch Ihre
config.js
Fenstergröße verwenden , um Folgendes festzulegen:quelle
Wenn die bevorzugte Methode:
funktioniert bei Ihnen nicht (z. B. Ausführen von Winkelmessertests in Xvfb), dann können Sie das Fenster auch auf diese Weise maximieren (protractor.conf.js):
TypeScript-Version:
quelle
Ich habe einfach den folgenden Code in meine Datei protractor.conf.js eingefügt und es hat gut funktioniert.
Welchen Zweck erfüllen setTimeout und executeScript in Ihrer Antwort? Ich habe Mühe, Best Practices in den Winkelmesser-Dokumenten zu finden ...
Meiner Meinung nach ist die direkte Verwendung von maxim () eine schlechte Idee und sollte nicht die bevorzugte Methode sein, da nicht auf jedem Computer, auf dem die Tests ausgeführt werden, die gleiche Größe festgelegt wird und das Reaktionsverhalten beeinträchtigt werden kann.
quelle
In Selen 4 (Winkelmesser 6)
setRect
ersetztsetSize
undsetPosition
Beispielsweise,
quelle
Fügen Sie in der Datei Protractor.conf.js die folgende Konfiguration hinzu
Funktionen: {'browserName': 'chrome', chromeOptions: {args: ['start-maximized']}}
quelle
Ändern Sie Ihre Datei config.js wie folgt.
quelle
Fügen Sie den folgenden Code hinzu, um das Browserfenster zu maximieren
quelle