Selenium-rc
セレン-リモートコントロール
Selenium RCとは何ですか?
Selenium Remote Control(RC)は、Selenium WebDriver(Selenium 2.0)が登場するまで長い間続いていたメインのSeleniumプロジェクトでした。 現在、WebDriverはより強力な機能を提供するため、Selenium RCはほとんど使用されていませんが、ユーザーは引き続きRCを使用してスクリプトを開発できます。
Java、C#、Perl、Python、PHPなどのプログラミング言語のフルパワーを活用して自動化されたWebアプリケーションUIテストを作成し、ファイルの読み取りと書き込み、データベースのクエリ、テスト結果の電子メール送信などのより複雑なテストを作成できます。
Selenium RCアーキテクチャ
Selenium RCは、クライアントライブラリがSelenium RCサーバーと通信して、実行する各Seleniumコマンドを渡すことができるように機能します。 次に、サーバーはSelenium-Core JavaScriptコマンドを使用してSeleniumコマンドをブラウザーに渡します。
ブラウザは、JavaScriptインタープリターを使用してSeleniumコマンドを実行します。
Selenium RCには2つの部分があります。
- Selenium Serverはブラウザーを起動および終了します。 それに加えて、Seleneseコマンドを解釈して実行します。 また、ブラウザとテスト対象のアプリケーション間で渡されるHTTPメッセージをインターセプトおよび検証することにより、HTTPプロキシとして機能します。
- プログラミング言語(Java、C#、Perl、Python、およびPHP)のそれぞれとSelenium-RCサーバーとの間のインターフェースを提供するクライアントライブラリ。
RCスクリプト
次に、Selenium Remote Controlを使用してサンプルスクリプトを記述しましょう。 Selenium RCを理解するためにhttp://www.seleniumhq.org/download/[http://www.calculator.net/]を使用してみましょう。 「Math Calculators」モジュールの下にある「Percent Calculator」を使用して、パーセント計算を実行します。
- ステップ1 *-(コマンドプロンプトを使用して)Selenium Remote Controlを開始します。
- ステップ2 *-Selenium RCを起動した後、Eclipseを開き、以下に示すように「新しいプロジェクト」を作成します。
- ステップ3 *-プロジェクト名を入力し、[次へ]ボタンをクリックします。
- ステップ4 *-ソース、プロジェクト、ライブラリ、および出力フォルダーを確認し、「完了」をクリックします。
- ステップ5 *-「プロジェクト」コンテナを右クリックし、「ビルドパスの構成」を選択します。
- ステップ6 *-「selrcdemo」のプロパティが開きます。 「ライブラリ」タブに移動し、「外部JARの追加」を選択します。 ダウンロードしたSelenium RC jarファイルを選択すると、次のように表示されます。
- ステップ7 *-参照されるライブラリは、以下のように表示されます。
- ステップ8 *-「src」フォルダを右クリックして「新規」>>「クラス」を選択して、新しいクラスファイルを作成します。
- ステップ9 *-クラスファイルの名前を入力し、以下に示すように「public static void main」を有効にします。
- ステップ10 *-作成されたクラスは、以下に示すようにフォルダー構造の下に作成されます。
- ステップ11 *-コーディングの時間です。 次のコードにはコメントが埋め込まれており、読者に何が出されたかを理解させることができます。
package selrcdemo;
import com.thoughtworks.selenium.DefaultSelenium;
import com.thoughtworks.selenium.Selenium;
public class rcdemo {
public static void main(String[] args) throws InterruptedException {
//Instatiate the RC Server
Selenium selenium = new DefaultSelenium("localhost", 4444 , "firefox", "http://www.calculator.net");
selenium.start(); //Start
selenium.open("/"); //Open the URL
selenium.windowMaximize();
//Click on Link Math Calculator
selenium.click("xpath = .//*[@id = 'menu']/div[3]/a");
Thread.sleep(2500);//Wait for page load
//Click on Link Percent Calculator
selenium.click("xpath = .//*[@id = 'menu']/div[4]/div[3]/a");
Thread.sleep(4000);//Wait for page load
//Focus on text Box
selenium.focus("name = cpar1");
//enter a value in Text box 1
selenium.type("css=input[name = \"cpar1\"]", "10");
//enter a value in Text box 2
selenium.focus("name = cpar2");
selenium.type("css = input[name = \"cpar2\"]", "50");
//Click Calculate button
selenium.click("xpath = .//*[@id = 'content']/table/tbody/tr/td[2]/input");
//verify if the result is 5
String result = selenium.getText(".//*[@id = 'content']/p[2]");
if (result == "5") {
System.out.println("Pass");
} else {
System.out.println("Fail");
}
}
}
- ステップ12 *-次に、「実行」ボタンをクリックしてスクリプトを実行します。
- ステップ13 *-スクリプトの実行が開始され、ユーザーは[コマンド履歴]タブでコマンド履歴を確認できます。
- ステップ14 *-アプリケーションの最終状態を以下に示します。 割合が計算され、以下に示すように画面に結果が表示されます。
- ステップ15 *-テストの出力は、以下に示すようにEclipseコンソールに出力されます。コンソールに出力を出力したためです。 リアルタイムでは、出力はHTMLファイルまたは単純なテキストファイルに書き込まれます。