Bạn có thể vô hiệu hóa JavaScript trong FirefoxProfile
:
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("javascript.enabled", false);
WebDriver driver = new FirefoxDriver(profile);
Tôi không nghĩ rằng có một cách để vô hiệu hóa CSS và điều này không phải là điều bạn nên làm - điều này có thể phá vỡ các ứng dụng web của bạn, và vô hiệu hóa JavaScript có thể làm điều này quá.
Không có cách nào để đặt giá trị của trường văn bản trực tiếp - WebDriver được thiết kế để mô phỏng người dùng thực "thúc đẩy" trình duyệt - đó là lý do tại sao chỉ có sendKeys.
Tuy nhiên, bạn có thể đặt giá trị của phần tử thông qua cuộc gọi JavaScript (nếu bạn không vô hiệu hóa nó, tất nhiên). Đây là nhanh hơn cho kỳ thi này từ lâu, nhưng đây không phải là mô phỏng sự tương tác người sử dụng vì vậy một số kiểm chứng thực có thể không được kích hoạt, vì vậy sử dụng một cách thận trọng:
private void setValue(WebElement element, String value) {
((JavascriptExecutor)driver).executeScript("arguments[0].value = arguments[1]", element, value);
}
và sử dụng nó:
WebElement inputField = driver.findElement(By...);
setValue(inputField, "The long long long long long long long text......");
Nguồn
2010-08-25 08:46:14
Bạn đang lật đổ WebDriver bằng cách làm cho toàn bộ chuỗi xuất hiện cùng một lúc. WebDriver được thiết kế để mô phỏng một người dùng, một người sử dụng không làm cho văn bản xuất hiện một cách kỳ diệu, họ gõ nó ra. Nó có thể mất nhiều thời gian hơn nhưng nó là một mô phỏng chính xác của một người thực sự. – Ardesco
Nếu bạn tắt JS, CSS, toàn bộ trang có thể bị hỏng để một số kiểm tra chức năng mà bạn sẽ thực thi bởi Selenium WebDriver có thể bị gián đoạn. Mục đích của thử nghiệm là Chức năng, không phải Hiệu suất. –