このセクションの内容:

はじめに

Selenium Executor ツールを使用すると、SOAtest で実行できる他のさまざまな種類のテストと組み合わせて Selenium テストを実行できます。JUnit に必要な WebDriver ライブラリを提供することで、テストに必要な依存関係を自動的にセットアップします。これにより、テスト環境やテスト データのセットアップ、このツールによる単体テストの実行、モバイル テストの実行など、より広範な一連のイベントの一部として Selenium テストを編成する単一のテスト シナリオを設計して実行することができます。

前提条件

  • Selenium 2.44 がサポートされます。
  • JUnit 3.8.x または JUnit 4
  • このツールには SOAtest 9.8.1 以降が必要です

インストール

このツールは、UI またはコマンド ラインからインストールできます。

UI からのインストール

  1. [Parasoft ] > [設定] を選択し、[システム プロパティ] をクリックします。
  2. [JAR の追加] をクリックし、seleniumexecutor.jar ファイルを選択します。
  3. [適用] をクリックします。
  4. SOAtest/Virtualize を再起動します。

コマンドラインからのインストール

settings.properties ファイルの system.properties.classpath プロパティに eleniumexecutor.jar ファイルを追加します。例:

system.properties.classpath=<PATH_TO_JAR>/seleniumexecutor.jar 

使用方法

Selenium Executor ツールは、[テストの追加] ウィザードでスタンドアロンツールとして追加できます。テストのクラス フォルダーまたは jar ファイルに、実行する JUnit が含まれている必要があります。その他の依存ライブラリを jar/フォルダーにインクルードしたり、システム プロパティに追加したりできます。ツールはまず jar/フォルダーを確認し、その後 (必要があれば) システム プロパティを確認します。

設定

このツールは、システム プロパティを使用して、SOAtest に付属の IEDriverServer.exe および chromedriver.exe へのパスを提供します。デフォルトでは、Selenium はこのシステム プロパティを自動的に読み込んで使用します。代わりに、JUnit テストは以下のシステムプロパティを使用して、これらの設定を手動で上書きできます。

  • webdriver.ie.driver - path to IEDriverServer.exe
  • webdriver.chrome.driver - path to chromedriver.exe

以下のツール フィールドを設定できます。

フィールド説明必須
JAR またはクラス フォルダー

テストのクラス フォルダーまたは jar ファイルを指定します。 

必須
クラスjar またはクラス フォルダーから実行する Selenium クラスを指定します。任意
メソッド実行する Selenium メソッドを指定します。指定したクラス内のすべてのテスト メソッドを実行する場合は、空白のままにします。任意
データ

JUnit で動的に変更するデータ値を指定します。このフィールドは、セミコロンで区切られたキーと値のペアをサポートします。例: 

firstName=John;lastName=Doe 

これらの変数には、Java の System Properties オブジェクトを使用して JUnit ソース コード内からアクセスできます。例: 

string lastName = System.getProperty("lastName") 

任意

次の例は、クラス内のすべてのテスト メソッドを実行するようにツールを構成する方法を示しています。

結果の参照

実行の詳細および結果については、[コンソール] ビューにレポートされます。また、テストの失敗が検出された場合、品質タスク ビューにレポートされます。

JUnit テストからコンソールへのメッセージのレポート

com.parasoft.api パッケージをプロジェクトにインポートしてアプリケーション コンテキストにアクセスすると、SOAtest が Selenium テスト実行からのメッセージをコンソールにレポートできるようになります。

Application.showMessage("this displays in the console");

  <SOATEST_INSTALL>/plugins/com.parasoft.ptest.libs.web_<VERSION>/root/ ディレクトリにある com.parasoft.api.jar ファイルを Java プロジェクトのクラスパスに追加して、リソースをインポートします。

JUnit テストからの値の取得

SOAtest の出力を Selenium Executor にアタッチして、Selenium JUnit のテスト出力からデータを取得し、そのデータを他のテストで使用することができます。どの値を保存するかを指定するように Selenium を構成し、適切なツールを実行ツールの Selenium 出力にアタッチする必要があります。データは XML フォーマットで連結されたツールに渡されます。たとえば、Diff ツール、XML Assertor、または XML Data Bank ツールにデータを送信できます。

JUnit Output の設定

JUnit はアプリケーション コンテキストにアクセスし、custom_tool_junit_output キーの下にある標準的な Java Map に必要な値を格納する必要があります。Selenium Executor ツールは、保存されたマップのアプリケーション コンテキストをチェックし、ツールの "JUnit Output" 出力に渡される XML に変換します。マップのキーおよび値は文字列でなければなりません。

アプリケーション コンテキストにアクセスするには、「JUnit テストからコンソールへのメッセージのレポート」の説明に従って com.parasoft.api パッケージを Selenium にインポートします。

別のツールにデータを送信

XML データを処理するツールに JUnit テストの出力データを送るには、次の操作を行います。

  1. Selenium Executor を右クリックし、[出力の追加] をクリックします。
  2. 出力を受け取るツールを選択し、[終了] をクリックします。

この例では、値を後続のテストで使用できるように、口座残高を XML Data Bank に保存します。次の手順が実行されます。

  1. JUnit テストは、値を含むマップを作成します。
  2. マップはアプリケーション コンテキストに配置されます。
  3. マップ内の値は XML ドキュメントに変換され、Selenium の出力に接続されたツールに渡されます。
public void testParabank() throws Exception {
	driver = new FirefoxDriver();
	
	// Navigate and log in to page
	driver.get("http://parabank.parasoft.com");
	driver.findElements(By.className("input")).get(0).sendKeys("john");
	driver.findElements(By.className("input")).get(1).sendKeys("demo");
	driver.findElements(By.className("login")).get(2).submit();

	// Extract desired value
	String accountBalance = driver.findElementByXPath("//*[@id=\"accountTable\"]/tbody/tr[1]/td[2]").getText();

	// Create map representing name-value pairs for XML
	Map<String, String> map = new HashMap<String, String>();

	// Place extracted value into map
	map.put("accountBalance", accountBalance);

	// Get the Parasoft Scripting Context
	ScriptingContext context = Application.getContext();

	// Place the map in the context with the custom_tool_junit_output
	context.put("custom_tool_junit_output", map);
	}

このテストを実行するように構成された Selenium Executor ツールを追加し、 XML Data Bank ツールを Selenium の出力に追加します。

どの値を抽出して他のツールで使用するかを指定します。マップのコンテンツは、Selenium の出力に添付されたツールに渡される XML ドキュメント内の <root> 要素の下に表示されます。この例では、値アサーション ツールが追加されました。

サード パーティのコンテンツ

このプラグインは、以下のサード パーティのコンテンツを含みます。

その他のライセンスの詳細については、Parasoft Burp Suite Extensions の licenses フォルダーを参照してください。


  • No labels