質問

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

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

Selenium Remote Control を使用する場合、WebDriver API で記述した内容をすべて書き直す必要があるのでしょうか?

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

私は正しい道を進んでいますか?私は次のようなアーキテクチャを想定しています。

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

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

役に立ちましたか?

解決

私の知る限り理解し、webdriverを実装は、少し後のSelenium RCより開始しました。私の視点からは、webdriverをはSeleniumRCのいくつかの厄介な問題を修正し、より柔軟なソリューションです。

webdriverをウェブGUIをテストするための標準インタフェースを提供します。このインターフェイス(HTTP、ブラウザ固有とSeleniumに基づく)のいくつかの実装があります。すでにいくつかのwebdriverをテストがあるので、あなたはこの

  

私はLinuxサーバ上でテストを実行する方法を探しているので、テストは、完了に時間と長くなってきています。

あなたは、実際のボトルネックを見つけるためにしようとしましたか?私はwebdriverを層の除去が役立つことを、よく分かりません。私はほとんどの時間は、システム被試験に要求を送信し、HTTPコマンドセレンに費やされている、と考えています。

  私はsleneiumリモートコントロールを使用する場合は、

、い   これは私がすべてを書き換えるために持っている意味します   私はwebdriverをAPI?

と書きました

一般的に、はい。あなたがテストコードとwebdriverを間にいくつかの追加の層を実装していない場合ます。

セレングリッドについては、

: あなたは、その後、いくつかの異なる[仮想]ノードで、いくつかのSelenium RCのインスタンスを起動セレングリッドに登録することがあります。あなたのテストは、Seleniumのグリッドに接続し、それが必要なのブラウザに合わせてそれらを調整、SeleniumRCインスタンスにすべてのコマンドをリダイレクトします。

あなたのプラグインハドソンの詳細については、 ここの<より多くの情報を見つけることができます/ P>

他のヒント

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 に組み込まれていませんが、今後 2 ~ 3 か月以内にベータ版に到達する予定であるため、追加されるまでそれほど長くはかからないはずです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top