このセクションの内容:
Selenium Executor ツールを使用すると、SOAtest で実行できる他のさまざまな種類のテストと組み合わせて Selenium テストを実行できます。JUnit に必要な WebDriver ライブラリを提供することで、テストに必要な依存関係を自動的にセットアップします。これにより、テスト環境やテスト データのセットアップ、このツールによる単体テストの実行、モバイル テストの実行など、より広範な一連のイベントの一部として Selenium テストを編成する単一のテスト シナリオを設計して実行することができます。
このツールは、UI またはコマンド ラインからインストールできます。
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 テストは以下のシステムプロパティを使用して、これらの設定を手動で上書きできます。
以下のツール フィールドを設定できます。
フィールド | 説明 | 必須 |
---|---|---|
JAR またはクラス フォルダー | テストのクラス フォルダーまたは jar ファイルを指定します。 | 必須 |
クラス | jar またはクラス フォルダーから実行する Selenium クラスを指定します。 | 任意 |
メソッド | 実行する Selenium メソッドを指定します。指定したクラス内のすべてのテスト メソッドを実行する場合は、空白のままにします。 | 任意 |
データ | JUnit で動的に変更するデータ値を指定します。このフィールドは、セミコロンで区切られたキーと値のペアをサポートします。例:
これらの変数には、Java の System Properties オブジェクトを使用して 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 プロジェクトのクラスパスに追加して、リソースをインポートします。
SOAtest の出力を Selenium Executor にアタッチして、Selenium JUnit のテスト出力からデータを取得し、そのデータを他のテストで使用することができます。どの値を保存するかを指定するように Selenium を構成し、適切なツールを実行ツールの Selenium 出力にアタッチする必要があります。データは XML フォーマットで連結されたツールに渡されます。たとえば、Diff ツール、XML Assertor、または XML Data Bank ツールにデータを送信できます。
JUnit はアプリケーション コンテキストにアクセスし、custom_tool_junit_output
キーの下にある標準的な Java Map に必要な値を格納する必要があります。Selenium Executor ツールは、保存されたマップのアプリケーション コンテキストをチェックし、ツールの "JUnit Output" 出力に渡される XML に変換します。マップのキーおよび値は文字列でなければなりません。
アプリケーション コンテキストにアクセスするには、「JUnit テストからコンソールへのメッセージのレポート」の説明に従って com.parasoft.api パッケージを Selenium にインポートします。
XML データを処理するツールに JUnit テストの出力データを送るには、次の操作を行います。
この例では、値を後続のテストで使用できるように、口座残高を XML Data Bank に保存します。次の手順が実行されます。
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 フォルダーを参照してください。