9

FirefoxDriverを使用してテストを作成している間、

javascriptとcssが実行されているため、ページの読み込みが非常に遅いことがわかりました。とにかくこれを無効にすることはありますか?プロファイルにNoscriptプラグインをインストールすることも可能ですか?

さらに、sendKeys()は、実際にテキストを入力します。ただし、これは長いテキストの場合は非常に遅く、とにかく入力ボックスにすべての文字列を即座に入力しますか?

4

3 に答える 3

17

あなたはで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......");
于 2010-08-25T08:46:14.483 に答える
13

Pythonを使用したSeleniumWebDriverテストでFirefoxに画像をロードせずCSSをレンダリングしないも参照してください。

CSSと画像を非表示にするには:

FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("permissions.default.stylesheet", 2);
profile.setPreference("permissions.default.image", 2);
FirefoxDriver browser = new FirefoxDriver(profile);
于 2012-02-01T10:25:27.050 に答える
0

また、PhantomJSはユーザーインターフェイスなしのWebKitブラウザーであるため、FireFoxやChromeよりも非常に高速です。PhantomJSにはWebドライバーのサポートがあります。

于 2015-05-06T15:16:38.163 に答える