FirefoxDriver: Deaktivieren von Javascript, CSS und Make Sendkeys sofort geben?

StackOverflow https://stackoverflow.com/questions/3526361

  •  29-09-2019
  •  | 
  •  

Frage

Bei der Verwendung von FirefoxDriver zu Schreibtests,

Ich entdeckte Laden der Seiten sind wirklich langsam wegen JavaScript und CSS ausgeführt wird. Gibt es trotzdem, diese zu deaktivieren? möglich, auch Noscript Plugin zum Profil installieren?

zusätzlich Sendkeys (), tatsächlich Typ aus dem Text. Dies ist jedoch recht langsam für langen Text, trotzdem sofort int Othe Eingabefeld alle die Zeichenfolge eingeben?

War es hilfreich?

Lösung

Sie können javaScript in FirefoxProfile deaktivieren:

FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("javascript.enabled", false);
WebDriver driver = new FirefoxDriver(profile);

Ich glaube nicht, dass es einen Weg zu deaktivieren CSS und nicht das, was Sie tun sollten -. Diese Web-Anwendung kann brechen, und deaktivieren Sie JavaScript dies auch tun können

Es gibt keinen Weg, um den Wert des Textfeldes setzen direkt - WebDriver soll die realen Benutzer „Fahren“ um den Browser zu simulieren -. Deshalb ist es nur Tastaturbefehle

Sie können jedoch den Wert des Elements über JavaScript-Aufruf gesetzt (wenn Sie es nicht deaktivieren werden, natürlich). Dies ist schneller für den langen Test, aber dies ist nicht die Emulation der Interaktion mit dem Benutzer so einige Validierungen können nicht ausgelöst werden, so mit Vorsicht verwenden:

private void setValue(WebElement element, String value) {
    ((JavascriptExecutor)driver).executeScript("arguments[0].value = arguments[1]", element, value);
}

und verwenden es:

WebElement inputField = driver.findElement(By...);
setValue(inputField, "The long long long long long long long text......");

Andere Tipps

Siehe auch Do nicht wollen Bilder zu laden und CSS auf Firefox in Selenium WebDriver Tests mit Python

zu machen

zu verstecken CSS und Bilder:

FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("permissions.default.stylesheet", 2);
profile.setPreference("permissions.default.image", 2);
FirefoxDriver browser = new FirefoxDriver(profile);

Sie können auch verwenden, PhantomJS ist WebKit-Browser ohne Benutzeroberfläche, so dass es wirklich schneller als Firefox oder Chrome ist. Es gibt Web-Treiber-Unterstützung für PhantomJS.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top