Используя FirefoxDriver для написания тестов,
я обнаружил, что загрузка страниц действительно медленная из-за выполнения javascript и css. Есть ли вообще отключить это? Можно ли даже установить плагин Noscript в профиль?
Кроме того, sendKeys () фактически печатает текст. однако для длинного текста это довольно медленно, во всяком случае, чтобы сразу ввести всю строку в поле ввода?
Вы можете отключить javaScript в FirefoxProfile
:
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("javascript.enabled", false);
WebDriver driver = new FirefoxDriver(profile);
Я не думаю, что есть способ отключить CSS, и это не то, что вам следует делать - это может сломать вашу сеть приложение, и отключение JavaScript тоже может сделать это.
Невозможно напрямую установить значение текстового поля — WebDriver предназначен для имитации реального пользователя, «управляющего» браузером, — поэтому есть только sendKeys.
Однако вы можете установить значение элемента через вызов JavaScript (если вы, конечно, не отключите его). Это быстрее для длительного теста, но это не эмуляция взаимодействия с пользователем, поэтому некоторые проверки могут не запускаться, поэтому используйте с осторожностью:
private void setValue(WebElement element, String value) {
((JavascriptExecutor)driver).executeScript("arguments[0].value = arguments[1]", element, value);
}
и используйте это:
WebElement inputField = driver.findElement(By...);
setValue(inputField, "The long long long long long long long text......");