3

初期化が可能かどうかを尋ねるためにここに書いていますWebDriver

WebDriver driver = new FirefoxDriver();

多くのjarアプリケーションに同じブラウザを使用して、他のjarファイルで次のようにします。

int port = ...;
String host = ...;
WebDriver driver = getDriver(host,port);

FirefoxDriver の読み込みと表示が非常に遅く、そのドライバーを読み込む多くの jar を呼び出す必要があるため、この質問をします。このように、ドライバーを 1 回だけロードすると、アプリケーション全体が、そのドライバーの N インスタンスを N 回開くよりも高速になると思います。私の質問が明確で整形式であることを願っています:)すべてに感謝します!

編集:使用する可能性があることがわかりましたRemoteWebDriver

DesiredCapabilities capability = DesiredCapabilities.firefox();
WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability);

どのように使用できますか?localhost:4444 で webdriver をインスタンス化する必要があるのはいつですか?

4

1 に答える 1

1

これはSelenium で最も要望の多い機能要求ですWebDriverただし、実行中のブラウザ ウィンドウにを接続することはまだできません。で発見したのRemoteWebDriverは、別のコンピューターでリモートでテストを実行できる可能性です。ただし、そのコンピューターは新しいブラウザー ウィンドウを起動する必要があります。

driverおそらく、実行するすべての jar (クラス) をキューに入れ、Firefox の単一インスタンスを起動し、参照を渡す HUB としてアプリケーションを作成できます。これは良い解決策ではありません。私の知る限り、まだ誰も実行していません。

しかし!Firefox の起動に費やされる時間の大半は、新しいFirefoxProfile. テスト専用のプロファイルを 1 つ作成し、常にこのプロファイルで Firefox を起動すると、大幅に高速になります。

于 2012-05-24T14:44:21.243 に答える