20

違いをよく理解しているかどうかはわかりません。WebDriver API は、選択したブラウザーも直接制御します。代わりにセレンリモコン (セレン RC) を使用する必要があるのはいつですか?

現在、私の現在の状況は、Selenium WebDriver API を使用してスイートを作成し、それを自分のコンピューターで実行することにより、Web アプリケーションをテストしていることです。テストが完了するまでに時間がかかるようになっているため、Linux サーバーでテストを実行する方法を探していました。

Selenium Remote Control を使用すると、WebDriver API で書いたものをすべて書き直さなければならないということですか?

Selenium Grid、Hudson、Selenium RC と混同しています。Hudson 用の Selenium Grid プラグインを見つけましたが、これに Selenium RC が含まれているかどうかはわかりません。

私は正しいルートを取っていますか?次のアーキテクチャを想定しています。

  • 少数の Ubuntu 専用サーバーで実行されている Hudson。
  • Xvnc & Selenium Grid プラグインで動作する Hudson。(Firefox を別途インストールする必要がありますか?)
  • Selenium RC テスト スイートを実行する Selenium グリッド。

これは、現在動作しているデスクトップ コンピューターで WebDriver API を使用してテストを実行するよりもはるかに時間効率が良いと思います。

4

2 に答える 2

14

WebDriver は Selenium 2 になりました。Selenium と WebDriver のコード ベースは統合されています。WebDriver は Selenium が持つ多くの問題を解決し、Selenium は Webdriver が持つ多くの問題を解決します。

Selenium 1 でテストを作成した場合は、Selenium 2 で動作するようにテストを書き直す必要はありません。コア開発者である私たちは、ブラウザー インスタンスを作成し、それを Selenium に注入すると、Selenium 1 テストがSelenium 2 で動作します。以下に例を示します。

// You may use any WebDriver implementation. Firefox is used here as an example
WebDriver driver = new FirefoxDriver();

// A "base url", used by selenium to resolve relative URLs
String baseUrl = "http://www.google.com";

// Create the Selenium implementation
Selenium selenium = new WebDriverBackedSelenium(driver, baseUrl);

// Perform actions with selenium
selenium.open("http://www.google.com");
selenium.type("name=q", "cheese");
selenium.click("name=btnG");

残念ながら、Selenium 2 は Selenium 2 に組み込まれていませんが、今後数か月以内にベータ版に到達することを望んでいるため、追加されるまでにそれほど時間はかからないはずです。

于 2010-10-24T11:43:00.740 に答える
3

私の知る限り、Webdriver の実装は Selenium RC より少し遅れて開始されました。私の観点からは、WebDriver はより柔軟なソリューションであり、SeleniumRC のいくつかの厄介な問題を修正しました。

WebDriver は、Web GUI をテストするための標準インターフェースを提供します。このインターフェースにはいくつかの実装があります (HTTP、ブラウザー固有、および Selenium ベース)。すでにいくつかの WebDriver テストがあるため、このような基本的なドキュメントに精通している必要があります。

テストが完了するまでに時間がかかるようになっているため、Linux サーバーでテストを実行する方法を探していました。

実際のボトルネックを見つけようとしましたか? WebDriver レイヤーを削除すると役立つかどうかはわかりません。ほとんどの時間は、テスト対象のシステムへの Selenium コマンドの送信と HTTP リクエストに費やされていると思います。

slenium リモコンを使用すると、WebDriver API で書いたものをすべて書き直さなければならないということですか?

一般的に、はい。テスト コードと WebDriver の間に追加のレイヤーを実装しなかった場合。

Selenium Grid について: 複数の異なる [仮想] ノードで複数の Selenium RC インスタンスを起動し、それらを Selenium Grid に登録することができます。テストは Selenium Grid に接続し、すべてのコマンドを SeleniumRC インスタンスにリダイレクトし、必要なブラウザーに従ってそれらを調整します。

hudson プラグインの詳細については、ここで詳細情報を見つけることができます

于 2010-10-24T10:55:14.657 に答える