Hier finden Sie eine einfache Möglichkeit, alle erforderlichen Schritte auszuführen, bevor Sie Ihren Browser starten, um automatisierte Webtests mit Selenium auszuführen. Die Erklärung basiert auf der Annahme, dass Selenid verwendet wird.
Als Vorarbeit zum Testen mit Selen ist es natürlich notwendig, den Browser zu starten. Befolgen Sie jedoch die nachstehenden Schritte, bevor Sie den Browser starten und den Test starten.
Es gibt nichts, was Sie nicht tun können, selbst wenn Sie manuell Ihr Bestes geben. Wenn jedoch mehrere Terminals Tests ausführen, ist es schwierig, die Treiber einzeln zu aktualisieren, und erstens behindert dies die regelmäßige und stabile Testausführung. Dieses Mal werde ich beschreiben, wie diese effizient implementiert werden können.
Um das Web zu testen, müssen Sie den zu testenden Browser angeben. Es gibt zwei Möglichkeiten, dies zu tun: Eine besteht darin, sie im Code anzugeben, und die andere darin, sie mit Laufzeitparametern anzugeben.
In Selenide werden die Einstellungen in der Konfigurationsklasse gespeichert. Wenn Sie den Browser im Quellcode angeben, beschreiben Sie Folgendes.
Configuration.browser = WebDriverRunner.CHROME
Sie können den Browser durch Schreiben wechseln.
Es sollte jedoch normalerweise auf der Notwendigkeit basieren, denselben Test in mehreren Browsern auszuführen. Daher wird der zu testende Browser normalerweise durch Laufzeitparameter umgeschaltet, anstatt direkt im Code angegeben zu werden.
Sie können den Ausführungsbrowser angeben, indem Sie mit selenide.browser wie folgt schreiben. java -Dselenide.browser=Chrome
Wenn Sie jedoch einen Browser angeben, möchten Sie auch spezifische Einstellungen für diesen Browser vornehmen. Außerdem möchte ich die Browsereinstellungen nicht einzeln in den Testcode schreiben. Hier erfahren Sie, wie Sie mit solchen Fällen umgehen.
Dies kann gelöst werden, indem der Code aufgerufen wird, der die Parameter vor dem Start des Browsers festlegt. Unten ist der Beispielcode.
IEWebDriverProvider.java
package com.driver;
public class IEWebDriverProvider implements WebDriverProvider {
@Override
public WebDriver createDriver(final DesiredCapabilities desiredCapabilities) {
InternetExplorerDriverManager.iedriver().arch32().setup();
desiredCapabilities.setCapability("ignoreProtectedModeSettings", true);
InternetExplorerOptions opt = new InternetExplorerOptions(desiredCapabilities)
.destructivelyEnsureCleanSession().withAttachTimeout(10, TimeUnit.SECONDS);
opt.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
return new InternetExplorerDriver(opt);
}
}
Bereiten Sie eine Klasse vor, die WebDriverProvider implementiert, und geben Sie den Codepfad zur Laufzeit wie unten gezeigt als Parameter an. -Dselenide.browser=com.driver.IEWebDriverProvider
Auf diese Weise wird der Zeitpunkt zum Starten des Browsers speziell festgelegt WebDriverRunner.getAndCheckWebDriver(); Der obige Code, der die Browsereinstellungen konfiguriert, wird auch ausgeführt, während er ausgeführt wird.
Dieses Mal wird ein Beispiel für das Starten des IE beschrieben, es ist jedoch möglich, für jeden Browser eine Klasse für die Vorabeinstellung vorzubereiten. Der Vorteil dieser Methode besteht darin, dass Sie den Konfigurationscode in mehreren Tests wiederverwenden können, um die Sichtbarkeit des Testcodes zu verbessern, indem Sie vermeiden, die erforderlichen Voreinstellungen für den Browser in einzelnen Tests zu schreiben.
Wenn Sie einen Test ausführen, schlägt der Test möglicherweise fehl, da die Version des Treibers, der auf dem Terminal installiert ist, auf dem der Test ausgeführt wird, alt ist.
Selenide enthält jedoch WebdriverManager und verfügt über einen integrierten Prozess zum automatischen Aktualisieren des Browsers, sodass Sie den Test ausführen können, ohne sich dessen bewusst zu sein. Es wird geprüft, ob der Treiber des zu verwendenden Terminals der neueste Treiber ist. Wenn dies nicht der neueste ist, wird er automatisch heruntergeladen.
Auch wenn Sie Selenide nicht verwenden, können Sie mit Webdriver Manager den gleichen Effekt erzielen.
Wenn die neueste Treiberversion und die Browserversion des Testausführungsterminals nicht übereinstimmen, kann der Test nicht so ausgeführt werden, wie er ist. Daher muss die Treiberversion einzeln angegeben werden.
In diesem Fall können Sie die Treiberversion auch wie folgt angeben. java -Dwdm.chromeDriverVersion=1.99
Möglicherweise möchten Sie auch den automatischen Aktualisierungsprozess stoppen, da klar ist, dass der Treiber auf dem neuesten Stand ist, die Anzahl der Tests sehr hoch ist und Sie die Testzeit so weit wie möglich verkürzen möchten. Selbst in einem solchen Fall können Sie den Aktualisierungsvorgang stoppen, indem Sie die folgenden Einstellungen vornehmen. java -Dselenide.driverManagerEnabled=false
Bisher haben wir vorgestellt, wie verschiedene Probleme im Zusammenhang mit dem Browser behoben werden können. Dies ist eine Voraussetzung für den Start des Tests. Wir hoffen, dass Sie diesbezüglich eine komfortable Lebensdauer für die Testautomatisierung haben.
Recommended Posts