このセクションでは、テスト スイートのプロパティ (テスト スイート名や個々のテスト ケースの実行方法など) をカスタマイズする方法を説明します。このセクションの内容:
テスト スイートのコンフィギュレーション パネルへのアクセス
テスト スイートのプロパティをカスタマイズするには、テスト ケース エクスプローラーでテストスイートのノードをダブルクリックします。
コメント、要件、タスク、 欠陥、機能リクエストをテストに関連付ける
テスト スイート コンフィギュレーション パネルの [要件および説明] タブでは、テスト スイートの特定のテストと要件、タスク、欠陥、機能リクエストを関連付けることができます。
HTML レポートには、テストに関連する成果物が表示されます。たとえば次の図は、テストに関連付けられたコメントが表示されたレポートを表しています。
定義した要件は、構成レポートおよび接続された DTP システム (該当する場合) に表示されます。このレポートは、テスト要件が満たされているかどうかをマネージャーやレビューアーが判断するのに役立ちます。構造レポートの詳細については「テスト スイート構成のレポート作成」を参照してください。
関連およびコメントの追加
- テスト ケース エクスプローラーでテスト スイート ノードをダブルクリックし、[要件および説明] タブをクリックします。
- [要件トラッキング] セクションで、関連あるいはコメントを適用する範囲を選択します。この情報は、テスト スイート、ネストしたテスト スイート、およびテストに適用できます。
- [追加] ボタンをクリックし、[型] ボックスで要件のタイプを選択します。DTP はこの情報を使用してテスト スイートのテスト ケースと指定された要素タイプを関連付けます。「コードとテストの関連付けの特定」の説明に従って、カスタム タグを追加できます。デフォルトのタグは以下のとおりです。
- @pr: 欠陥を表します。
- @fr: 機能要件を表します。
- @req: 要件を表します。
@task: タスクを表します。
カスタム欠陥/課題トラッキング タグの構成
組織で欠陥または機能要件を指すために使用している用語に合致するよう、欠陥/課題トラッキング タグを構成できます。詳細については「コードとテストの関連付け) を参照してください。
- 要求の ID および URL を入力して [OK] をクリックします。
[設定] > [レポート] > [レポートの内容] オプションで [要求/欠陥の詳細] が有効に設定されている場合、ここで指定された関連が HTML レポートに表示されます。URL を指定した場合、HTML レポートにハイパーリンクが表示されます。 - コメントを追加するには (たとえば「このテストは要求を部分的にテストする」または「このテストは要求を完全にテストする」など)、[コメント] フィールドにコメントを入力します。ここで入力したコメントは、HTML レポートに表示されます。
- テスト スイートについて詳しい説明を追加するには、[注釈] フィールドに入力します。
実行オプションの指定 (テスト フロー ロジック、回帰オプションなど)
実行オプションを使用すると、次のような条件をコントロールすることができます。
- テストを連続的に実行するか、並行的に実行するか
- テストは個別に実行可能か、グループとして実行する必要があるか
- 1 つのテストが他のテストの結果に依存するかどうか
- 特定の条件が満たされるまでテスト スイート全体を繰り返すかどうか
- 個々のテストに対して回帰コントロールを作成するか、また回帰コントロールをどのようにデータ ソースにマッピングするか
これらのオプションは、[実行オプション] タブで指定します。このタブには [テストの実行]、[テスト フロー ロジック]、[回帰オプション] タブがあります。
テストの実行
[実行オプション] タブの [テストの実行] サブタブでは、以下のオプションをカスタマイズできます。
実行モード
このテスト スイートの子である個々のテストおよびテスト スイートを一度に 1 つ実行するには、[テストを順次実行] を有効にします。
このテスト スイートのすべてのテストと子テスト スイートを一度に実行するには、[テストを同時実行] を有効にします。テストは同時に実行されます。
テストの関連性
これらのオプションは、データ ソース行をどのように反復処理するかを指定します。
テストごとにすべてのデータ ソース行を繰り返すには、[個別にテストを実行可能] を有効にします。これがデフォルトです。個別にテストが実行される場合、次のテストまたはテスト スイートの実行に移る前に、すべての行が使用されます。子テスト スイートが実行される場合、SOAtest は次のテストまたはテスト スイートの実行に移る前に、そのテスト スイートのすべての子の実行が完了するまで待機します。
データ ソースの各行を使用してすべてのテストを実行するには、[グループとしてテストを実行] を有効にします。シナリオの場合はこれがデフォルトです。データ ソースから 1 行が選択され、その行を使用して各テストおよび子テスト スイートが実行されます。 すべての子が実行されたら、新しい行が選択され同じプロセスが繰り返されます。[次の場合にシナリオを異常終了: ] オプションは、[グループとしてテストを実行] が有効な場合にアクティブになります (詳細については「次の場合にシナリオを異常終了」を参照)。
このテスト スイートに含まれるテストを、このテスト スイートの直接の子として実行するには、[このグループの一部としてすべてのサブ グループのテストを実行] オプションを有効にします。そして、グループとしてアクションを順に処理します。[次の場合にシナリオを異常終了: ] オプションは、[グループとしてテストを実行] が有効な場合にアクティブになります (詳細については「次の場合にシナリオを異常終了」を参照)。
たとえば、次の図のようなテスト スイートがあるとします。
Test Suite 2 と Test Suite 3 は、どちらも [個別にテストを実行可能] として設定され、Table には 2 行のデータがあり、Test Suite 1 のそれぞれの [テストの関連性] オプションの下でテストが実行されるとします。次の表は、Test Suite 1 の実行オプションの設定によって、テストの実行順序がどのように変わるかを示したものです。なお、Test Suite 2 および Test Suite 3 は [個別にテストを実行可能] が設定されているとします。
個別にテストを実行可能 | グループとしてテストを実行 | このグループの一部としてすべてのサブグループのテストを実行 |
---|---|---|
SOAP Client 1 行 1 | SOAP Client 1 行 1 | SOAP Client 1 行 1 |
SOAP Client 1 行 2 | SOAP Client 2 行 1 | SOAP Client 2 行 1 |
SOAP Client 2 行 1 | SOAP Client 2 行 2 | SOAP Client 3 行 1 |
SOAP Client 2 行 2 | SOAP Client 3 行 1 | SOAP Client 1 行 2 |
SOAP Client 3 行 1 | SOAP Client 3 行 2 | SOAP Client 2 行 2 |
SOAP Client 1 行 2 | SOAP Client 1 行 2 | SOAP Client 3 行 2 |
SOAP Client 2 行 1 | ||
SOAP Client 2 行 2 | ||
SOAP Client 3 行 1 | ||
SOAP Client 3 行 2 |
指定の条件でテスト実行を停止するには、[シナリオを中止] を有効にし、[致命的なエラー] または [任意のエラー] をドロップダウン メニューから選択します。前のテストが致命的なエラーとなった場合、[致命的なエラー時にシナリオを中止] チェックボックスをオンにします。このオプションは [テストを順次実行] が有効で [個別にテストを実行可能] が無効の場合にだけ利用できます。 このケースは、テスト スイート内のテストのセットがお互いに依存し、互いに別々に実行できず、連続して実行する必要があるときに発生します。 このオプションが有効で、かつシナリオ内の実行中のテストに致命的なエラーがある場合、シナリオ内の残りのテストは実行されません。 このオプションが無効の場合は、たとえ致命的なエラーが発生しても、シナリオ内の残りのテストが実行されます。
拡張オプション
[複数データ ソースの反復] ドロップダウン メニューからオプションを選択して、「1 つのテスト スイートで複数のデータ ソースが使用されており、テスト スイート中のテストが個別に実行可能ではない場合に、どのようにデータ ソースを繰り返すか」を指定します。すべてのデータ ソースが同じ数の行を持たない場合、最も小さなデータ ソースの最終行で反復は停止します。次のオプションが利用可能です。
- 順列: データ ソースの行の組み合わせを変えてテストを実行します。たとえば、それぞれ 3 つの行を持つ 2 つのデータ ソース (A と B) の反復は、次のようになります。
- フラット (lockstep): テストの実行は、それぞれのデータ ソースの行を同時に反復します。 たとえば、それぞれ 3 つの行を持つ 2 つのデータ ソース (A と B) の反復は、次のようになる可能性があります。
このオプションは、プロジェクト .tst ファイルの最上位の (親) テスト スイートでだけ利用できます。このオプションを参照するには、[拡張オプション] セクションを展開する必要があります。
[すべての反復を表示] オプションがオンの場合、すべてのデータ ソース行の繰り返し (個別に実行可能なテストの実行も含む) がカウントされて表示されます。デフォルト値はオンです。このオプションがオフの場合、個別に実行可能なテストについては、個々のデータ ソース行の繰り返しは表示されません。つまり、50 行のデータがあるデータ ソースでテストをパラメータライズした場合、1 回のテスト実行としてレポートされます。 結果として、複数のデータ ソース行でエラーが発生した場合、テスト実行回数よりも多いエラーがレポートされる場合があります。
テスト フロー ロジック
SOAtest では、前のテストや、セットアップ テスト、またはティアダウン テストが成功したか失敗したかに応じて実行されるテストを作成できます。この機能は、テスト スイート内で効率的なワークフローを作成するのに役立ちます。さらに、変数の値に基づくループや if/else 文を作成して、テスト スイートのロジックを制御することもできます。
オプションはテスト スイート レベル (テスト スイート内のすべてのテストにオプションが適用されます) で設定することも、個々のテストに対して設定することもできます。
テスト スイート ロジック オプション
多くの場合、ある条件を満たすまで、同じ処理を SOAtest で繰り返すのが良いでしょう。それには、テスト スイート フロー ロジックを使用します。
オプションを理解する
そのようなシナリオ テストの自動化を支援するために、SOAtest では 2 つの主要なテスト フロー タイプを選択できます。
- while 条件 (変数): 変数の条件を満たすまで、あるアクションを繰り返し実行します。これには、「変数の定義」で説明する変数の設定が必要です。
- while 条件 (成功/失敗): テスト スイート中の 1 つのテスト (またはすべてのテスト) が (ループ停止条件で設定した内容に応じて) 成功または失敗するまで、あるアクションを繰り返し実行します。このオプションを選択して (たとえばテストが成功するまでループするように設定して)、全体的なループ条件が満たされた場合、失敗のテストが成功としてマークされる点に注意してください。 全体的なループ条件が満たされない場合、失敗した個々のテストは失敗としてマークされます。ループ条件が満たされるかどうかに関係なく、どのテストが成功してどのテストが失敗したかはコンソールに表示されます。
例:
- ユーザーがデータを Web サービスにサブミットすると、後でデータがデータベースに挿入されます。 データがいつデータベースに挿入されるかは、場合によって異なります。SOAtest を使用してこれを検証するには、DB ツールを定義し、データが存在しない間は失敗し続ける assertor を連結します。 この場合、DB ツールが成功するまでテストを実行する必要があるでしょう。
- Web アプリケーションでユーザーが何らかのデータを入力し、[検索を実行] ボタンをクリックします。 データが利用できない場合、アプリケーションはただ「データをロード中」というメッセージを表示します。 ユーザーはデータが表示されるまで繰り返しボタンをクリックします。 SOAtest を使用してこれを検証するには、ボタンのクリック アクションを実行する Browser Playback ツールをセットアップし、Browser Validation ツールを連結して特定の要素が存在するかどうかを検証します。 この場合、要素が表示されるまでテストをループ実行する必要があるでしょう。
- Web アプリケーションで、検索結果が複数ページにわたる「ページ」フォーマットで表示されることがよくあります。 目的の結果が現在のページに表示されていない場合、目的の結果が表示されるまで [次へ] リンクをクリックする必要があります。 SOAtest を使用してこれを検証するには、[次へ] リンクのクリック アクションを実行する Browser Playback ツールをセットアップし、Browser Validation ツールで目的の結果が表示されているかどうかを検証します。 この場合、目的の結果が表示されるまでテストをループ実行する必要があるでしょう。
オプションの設定
テスト スイート全体に適用されるテスト フロー ロジックのオプションを設定するには、次の操作を行います。
- [実行オプション] > [テスト フロー ロジック] タブを開き、最上位のノードを選択します。
- 目的のフロー タイプを選択します。
- [while 条件 (変数)] または [while 条件 (成功/失敗)] ループ フロー (それぞれのタイプの説明は上述のとおり) あるいは [なし] (一致する条件によって決まる実行フローがいらない場合) を選択できます。
- (任意) 指定した条件に一致することが無かった場合に、ループが実行される最大回数をカスタマイズできます。
- [while 条件 (成功/失敗)] フローを選択した場合、[ループ停止条件] で [1 つのテスト] または [すべてのテスト] を選択します。そしてテスト スイートの実行を先に進める条件としたい結果に応じて [成功] または [失敗] を選択します。
- [while 条件 (変数)] フローを選択した場合、次のように [while] および [do] 条件を設定します。
- while: ドロップダウン リストから任意の変数を選択します。このリストのアイテムは、[変数] タブに追加した変数によって決まります。
- 選択した変数が boolean 値で定義されている場合、[true] または [false] ラジオボタンを選択できます。
- 選択した変数が integer 値で定義されている場合、2 つ目のドロップダウン メニューは == (等しい)、 != (等しくない)、 < (小なり)、 > (大なり)、 <= (小なりイコール)、 >= (大なりイコール) が表示されます。さらに、整数を入力するためのテキスト フィールドが利用できます。 さらに、整数を入力するためのテキスト フィールドが利用できます。
- do: while ループの変数でアクションを決定できます。次のオプションが利用可能です。
- Nothing: 変数条件が一致する場合、何もしません。
- Increment: (整数値だけ) 変数条件が一致する場合、変数をインクリメントします。
- Decrement: (整数値だけ) 変数条件が一致する場合、変数をデクリメントします。
- Negate: (boolean 値だけ) 変数条件が一致する場合、変数を無効にします。
- while: ドロップダウン リストから任意の変数を選択します。このリストのアイテムは、[変数] タブに追加した変数によって決まります。
テスト フロー ロジックのチュートリアル
while 条件 (成功/失敗) テスト フロー ロジックを設定する詳細な手順については、「テストの成功/失敗までループする - テスト フロー ロジックの使用」を参照してください。
テスト特有のロジック オプション
個々のテストに対して以下のオプションを指定できます。
- テスト結果の依存関係: 別のテストが成功、失敗、またはスキップされたときにだけ現在の (選択されている) テストを実行したい場合、依存対象のテストの名前をここで指定します。たとえば、Test 4 が Test 1 の結果に依存している場合、左パネルで Test 4 を選択し、ドロップダウン リストから Test 1 を選択します。その後、現在のテストを実行する条件を指定します。選択できるオプションは以下のとおりです。次のオプションがあります。
- 成功: [テスト] ドロップダウン リストで選択したテスト ケースが成功した場合に、その後のテスト ケースを実行したいときは、このオプションを選択します。[テスト] ドロップダウン リストで選択したテスト ケースが成功しなかった場合、その後のテスト ケースは実行されません。
- 失敗: [テスト] ドロップダウン リストで選択したテスト ケースが失敗した場合に、その後のテスト ケースを実行したいときは、このオプションを選択します。[テスト] ドロップダウン リストで選択したテスト ケースが失敗しなかった場合、その後のテスト ケースは実行されません。
- スキップ: [テスト] ドロップダウン リストで選択したテスト ケースがスキップされた場合に、その後のテスト ケースを実行したいときは、このオプションを選択します。[テスト] ドロップダウン リストで選択したテスト ケースがスキップされなかった場合、その後のテスト ケースは実行されません。
セットアップ テストとティアダウン テスト
利用可能なセットアップ テストまたはティアダウン テストがある場合、GUI 左側のパネルにそれらのテストが表示され、以下のようにテスト ロジックを設定することができます。
- セットアップ テストの結果に基づいてテストを実行できます。
- 前のセットアップ テストの結果に基づいてセットアップ テストを実行できます。
- 通常のテスト、セットアップ テスト、または前のティアダウン テストの結果に基づいてティアダウン テストを実行できます。
この機能を使用すると、セットアップ テストが失敗した場合にテストを中止 (またはテストを実行) できます。
- 変数条件: [変数] テーブルに追加された変数の値に応じてテストを実行するかどうかを決定できます (変数の追加についての詳細は、「変数の定義」を参照してください)。変数が追加されない場合、変数条件オプションは利用できません。変数が定義された場合、次のオプションが利用可能です。
- 変数条件ドロップダウン: ドロップダウン リストから任意の変数を選択します。このリストのアイテムは、[変数] テーブルに追加した変数に依存します。
- 選択した変数が integer 値で定義されている場合、2 つ目のドロップダウン メニューは == (等しい)、 != (等しくない)、 < (小なり)、 > (大なり)、 <= (小なりイコール)、 >= (大なりイコール) が表示されます。さらに、整数を入力するためのテキスト フィールドが利用できます。 さらに、整数を入力するためのテキスト フィールドが利用できます。例:
x != 13 (x は 13 と等しくない) である場合はテストが実行されます。x が 13 と等しい場合、テストは実行されません。 - 選択した変数が boolean 値で定義されている場合、[true] または [false] ラジオボタンを選択できます。例:
x1 が false の場合、テストは実行されます。x1 が true の場合、テストは実行されません。
- 選択した変数が integer 値で定義されている場合、2 つ目のドロップダウン メニューは == (等しい)、 != (等しくない)、 < (小なり)、 > (大なり)、 <= (小なりイコール)、 >= (大なりイコール) が表示されます。さらに、整数を入力するためのテキスト フィールドが利用できます。 さらに、整数を入力するためのテキスト フィールドが利用できます。例:
- 変数条件ドロップダウン: ドロップダウン リストから任意の変数を選択します。このリストのアイテムは、[変数] テーブルに追加した変数に依存します。
- 遅延時間 (ミリ秒): テストの実行前または実行後に待機する時間を設定します。
回帰オプション
[回帰オプション] コントロール オプションを使用すると、回帰テストでどのようにデータ ソースを使用するかや、回帰コントロールを追加するテスト スイートを指定できます。このタブの設定は、Web シナリオ テストには適用できないことに注意してください。以下のオプションを指定できます。次のオプションが利用可能です。
- データ ソース行番号を使用: (デフォルト値) Diff コントロールが生成するデータにデータ ソースの行番号を関連付けます。たとえば、実際に使用されたデータ ソースの値にかかわらず、データ ソースの N 行目が、Diff ツールの N 行目のコントロールに関連付けられます。このオプションがオンの場合、データ ソース値と対応する Diff 回帰ツールの間に依存関係はありません (複数行の回帰コントロールがある場合)。
変更後の回帰コントロールの更新
- データ ソース列名および値を使用: Diff コントロールが生成するデータにデータ ソースの列名および値を関連付けます。たとえば、SOAP Client のリクエストで A=1、B=2 というデータが使用された場合、Diff コントロールの "A=1, B=2" というラベルが付いたデータと関連付けられるといった風にです。このオプションがオンの場合、データ ソースに自由に行を追加したり削除したりしても、列名および値が変わらない限り、Diff ツールはデータ ソースのデータをコントロールのデータと正しく結びつけることができます。データ ソースの使用についての詳細は、「テストのパラメータライズ (データ ソース、変数、または他のテストの値を使用)」を参照してください。
- 回帰コントロール ロジック: このテーブルを使用して、テスト スイート内のどのテストに対して回帰コントロールを作成するかを指定できます。テーブルに入力されたテストごとに、[常にする] または [しない] を選択できます。次回テスト スイートの回帰コントロールを更新したとき、この設定に従って回帰コントロールが更新されます。
変数の定義
[変数] タブで変数を設定し、テストの定義を簡略化したり、柔軟で再利用性の高いテスト スイートを作成するために使用できます。変数を追加すると、その変数を使用してテストをパラメータライズできます。
変数とは
変数に特定の値を指定すると、現在のテスト スイート全体でその変数を使用して値を参照できます。この方法で、同じ値を複数回入力する必要がなくなります。そして値を変更したい場合は、1 箇所を変更するだけです。
変数に特定の値を手動で設定するには、データ バンク ツール (例: XML Data Bank) または Extension ツールですぐに変数の値を設定できます。
さらに、テスト スイートへの参照がある場合 (詳細については「テスト スイートの参照を使用」を参照)、変数を使用して親テスト スイートのデータ ソースにアクセスできます。
変数は、ツール コンフィギュレーション パネル内でパラメーター値として使用できるほか (${env_name} という書式を使用します) 、com.parasoft.api.ExtensionToolContext.getValue(String) および setValue(String, String) を使用してスクリプト内で使用することもできます。 値は、string、 integer、 boolean 型です。
テストの実行中、テスト スイートで定義された変数は、そのテスト スイート内のすべてのテストから、およびそのテスト スイートの後に実行されたすべてのテストから見えます (テストが同じテスト スイート中にあるのか、あるいは子スイートまたは親スイートにあるのかは関係ありません)。たとえば、以下の構造のテスト スイートがあり、以下の順番でテストを実行するものとします。
- テスト スイート: grandparent
- テスト スイート: parent
- テスト スイート: A
- テスト スイート: B
- テスト スイート: C
- テスト スイート: parent
テスト スイート A で定義されたテスト変数は、テスト スイート A、B、C 内のすべてのテストから見えます。一方、B で定義された変数が見えるのはテスト スイート B および C だけです。
変数の追加
- [追加] をクリックします。
- [名前] フィールドに新しい変数を入力します。
- [型] ボックスから [Integer]、 [Boolean]、 [String]、 または [Data Source] のいずれかを選択します。
- ローカルな値を使用するか、親テスト スイートの値を使用するかを指定します。
- 親テスト スイートの値を使用 (定義済みの場合) - 現在のテスト スイートが「参照されている」テスト スイートであり、親テスト スイートのデータ ソースから値を取得したい場合、このオプションを選択します。親テスト スイートの詳細については「テスト スイートの参照を使用」を参照してください。
- ローカル値を使用 - 現在のテスト スイートに親テスト スイートがあり、親テスト スイート内のテストでこの変数に値を設定している場合も、常にここで指定した値を使用するには、このオプションを選択します。データ バンク ツールまたは Extension ツールの値をリセットした場合、新しい値がここで指定された値よりも優先されます。
- (Data Source 型のみ) 適切な値が格納されているデータ ソースの名前と行を指定します。 データ ソースは親テスト スイート (現在のテスト スイートを参照するテスト スイート) に存在していなければなりません。
- [値] フィールドに変数の値を入力します。Data Bank ツール や Extension ツールに再設定されない限り、[ローカル値を使用] を選択すると変数は常に指定した値に設定されます。[親テスト スイートの値を使用] を選択した場合、ここで指定された値は、対応する値が親テスト スイートで見つからなかった場合にだけ使用されます。
- [OK] をクリックします。
変数の使用
変数を追加した後は、以下のような用途に使用できます。
- テスト フィールドの「パラメータライズ」オプションで使用します。たとえば、title variable 変数の値を使って SOAP Client リクエストの要素を設定したい場合、次のように設定します。
- {var_name} 規約によって、テキスト入力フィールド中で参照されます。データ ソース エディターでは、参照する環境変数に soa_env という接頭辞を付けます。例:
${soa_env:Variable}/calc_values.xlsx
- Data Bank ツールから値をリセットします (たとえば、XML Data Bank など。詳細については「データ ソース ウィザードを使用した XML Data Bank ツールの構成」を参照してください)。
- Extension ツールから値をリセットします (「スクリプト経由で変数とロジックを設定」の説明を参照)。
- 「テスト フロー ロジック」で説明しているように、テスト ロジック条件を定義するのに使用します。
スクリプト経由で変数とロジックを設定
テスト対象のサービスからのレスポンスに応じて、テスト スイート ロジックおよび変数を変更したいケースがよくあります。Extension ツールを使用すると、変数を設定してテスト フローの実行を制御することができます。たとえば、Test 1 が変数 x=3 を返した場合、Test 2 を実行するなどです。
TestSuiteVariable API を使用して変数にアクセスし、変数に値を設定したり、変数の値を取得することができます。 この値を使用してテスト フロー ロジックを構築できます。 詳細については Extensibility API Javadoc の com.parasoft.api Interface TestSuiteVariable を参照してください。Javadoc を参照するには、[Parasoft] メニューの [ヘルプ] をクリックし、[Parasoft SOAtest Extensibility API] を開きます。
たとえば、Extension ツールに次のようなコードを入力して変数をセットできます。
from com.parasoft.api import Application def setVar(input, context): context.setValue("x", input.toString())
TestSuiteVariable object x の値を取得するには、次のようなコードを入力します。
varValue = context.getValue("x")
varValue は string として返されます。
たとえば、テストに XML Transformer ツールを追加して特定の値を抽出します。その後、XML Transformer ツールの出力に Extension ツールを連結し、Transformer ツールの値を取得するスクリプトを記述します。最後に、最初のテストから適切な値が返された場合にだけ 2 つ目のテストを実行するよう設定できます。
変数の使用状況のモニタリング
実行時に実際に使用された変数を表示するには、コンソールの設定 ([Parasoft] > [設定] > [Parasoft] > [コンソール]) で 通常または高冗長レベルを選択します。
個々のテストが実行された後、実行時に使用された変数がコンソール ビュー ([ビューの表示] > [Parasoft] > [コンソール]) に表示されます。例:
Scenario: ICalculator Test 1: first add - success get x=0 set x=10.0 set Test 1: type=xsd:float Test 2: second add - success get x=10 set x=20.0 Test 3: third add - success get x=20 set x=30.0 Test 1: first add - success get x=30 set x=50.0 set Test 1: type=xsd:float Test 2: second add - success get x=50 set x=70.0 Test 3: third add - success get x=70 set x=90.0
このような変数の参照は、発生した問題の原因を診断するのに役立ちます。
チュートリアル
変数の使用の詳細な手順については「再利用可能な (モジュラーな) テスト スイートの作成」を参照してください。
クライアント オプションの指定
[クライアント オプション] タブは以下のセクションに分かれています。
全般
以下の全般的なテスト スイート オプションを設定できます。
- タイムアウト (ミリ秒): デフォルト以外の値を使用する場合、ドロップダウン リストから [カスタム] を選択し、時間を入力します。デフォルト値は 30000 です。
- 送信メッセージのエンコード: すべての SOAP 以外のテスト クライアントについて送信 メッセージのエンコーディングを選択できます。文字エンコーディングをより柔軟に設定することができます。この設定は Parasoft 設定の [その他] でグローバルに設定することも可能です (「 その他の設定」を参照)。SOAP クライアントの送信メッセージ エンコーディングは [SOAP] 設定で設定できます。
- Cookie: セッション間で Cookie を消去するには、ドロップダウン メニューから [カスタム] を選択し、[リクエストを送信する前に、既存のクッキーをリセットする] を有効にします。
SOAP
以下の SOAP 関連のテスト スイート オプションを設定できます。
- エンドポイント: エンドポイントを指定します。テスト スイート内のすべてのテストに対して同じエンドポイントを指定する場合、エンドポイントを入力して [すべてのテストにエンドポイントを適用] ボタンをクリックします。
- 添付ファイルのカプセル化フォーマット: ドロップダウン リストから [カスタム] を選択し、[MIME] または [DIME]、[MTOM Always]、または [MTOM Optional] を選択します。デフォルト値は MIME です。デフォルト値は MIME です。
- 送信メッセージのエンコード: 送信 SOAP メッセージのエンコーディングを選択できます。文字エンコーディングをより柔軟に設定することができます。この設定は Parasoft 設定の [その他] でグローバルに設定することも可能です (「 その他の設定」を参照)。SOAP クライアント以外の送信メッセージ エンコーディングは [全般] 設定で設定できます。
- SOAP バージョン: ドロップダウン リストから [カスタム] を選択し、[SOAP 1.1] または [SOAP 1.2] を選択します。デフォルト値は SOAP 1.1 です。
- WSDL に従う: ドロップダウン メニューから [カスタム] を選択し、以下のいずれかまたは両方を有効にします。
- リクエストは WSDL に従う: 定義ファイルから値を取得することをツールに強制します。
- SOAP ヘッダーは WSDL に従う: 定義ファイルから SOAP ヘッダーの値だけを取得することをツールに強制します。
ブラウザー再生オプションの指定
[ブラウザー再生オプション] タブはいくつかのセクションに分かれています。
- Playback Testing Framework: ブラウザーでの記録と再生に Selenium WebDriver エンジンを使用するか、従来の Parasoft ネイティブ ドライバー エンジンを使用するかを指定します。詳細については、「Selenium WebDriver エンジン」 を参照してください。
- デフォルト ブラウザー再生: このテストの再生に使用するデフォルトのブラウザーを指定します。
- サポート対象ブラウザー: 他のブラウザーではこのテストを実行できない場合 (たとえば、ほかのブラウザーでは Web ページの構造が大幅に異なり、それに合わせてシナリオの構成も変える必要がある場合など)、[ここで指定したブラウザーのみ使用] オプションをオンにします。このオプションがオンの場合、異なるブラウザーを使用するよう指定されたテスト コンフィギュレーションで実行した場合も、テストは指定されたブラウザーでだけ再生されます。テスト コンフィギュレーションの再生設定でここでの指定を上書きする場合は、[任意のブラウザー] を選択します。
例:- Chrome および Firefox を指定し、[ここで指定したブラウザーのみ使用] をオンにした場合、すべてのブラウザーでテストを実行するよう設定されたテスト コンフィギュレーションを実行すると、Chrome および Firefox でだけテストが実行されます。
- Chrome および Firefox を指定し、[任意のブラウザー] をオンにした場合、すべてのブラウザーでテストを実行するよう設定されたテスト コンフィギュレーションを実行すると、Chrome、Firefox、Safari および Internet Explorer (利用可能な場合) でテストが実行されます。
- 表示: テストを再生する際の表示方法を指定します。[デフォルト] を選択した場合、親の設定が継承されます。[カスタム] を選択した場合、[ヘッドレス (非表示)] または [表示] を選択できます。
- [ヘッドレス] モードでは、テストが実行されている様子を見ることはできません (テストの実行中にブラウザーは表示されません)。[ヘッドレス] モードのサポート状況は以下のとおりです。
- Windows: 完全にサポートされています。
- Mac: 完全にサポートされています。
- Linux: Linux 2.4.21-27.0.2 以降のカーネルでサポートされています(Red Hat、Debian、および Mandrake アーキテクチャで検証済み)。
- [表示] モードでは、テストが実行される様子をブラウザーで見ることができ、テストが正しく実行されていることを目視で確認できます。
- [ヘッドレス] モードでは、テストが実行されている様子を見ることはできません (テストの実行中にブラウザーは表示されません)。[ヘッドレス] モードのサポート状況は以下のとおりです。
コマンドライン テストからブラウザーを開くには
上記のオプションは、コマンドライン インターフェイスから実行したテストには適用されません。
コマンドライン モード (soatestcli を使用) では、Web シナリオはデフォルトでヘッドレス モードで実行されます。CLI から ヘッドレス モードで実行したくない場合は、soatestcli
に -browserTestsVisible
を指定します (「コマンドラインからのテスト実行 (soatestcli)」の説明を参照)。
- 認証: 以下のとおり、認証情報を指定できます。
認証の設定
ベーシック、NTLM、ダイジェスト、および Kerberos 認証がサポートされており、このパネルで指定できます。ベーシック、NTLM、およびダイジェスト認証の場合はユーザー名およびパスワードを指定し、Kerberos 認証の場合はサービス プリンシパルを指定します。
大きく分けると 3 つの認証オプションがあります。
- 親テスト スイートの設定を使用: このオプションを選択すると、認証情報が設定されている最初の親テスト スイートの認証情報が継承されます。
- グローバル設定を使用: このオプションを選択すると、SOAtest の [セキュリティ] 設定画面で指定された認証情報が使用されます。
- カスタム設定を使用: このオプションを選択すると、このテスト スイートに対して指定された認証情報が使用されます。
このテスト スイートに対して指定された認証情報をいつ適用するかを指定するには、認証を必要とするパスまたはレルムを指定します。複数のサーバーにアクセスするシナリオ内の 1 つのサーバーだけが認証を要求する場合、そのサーバーの使用するパスまたはレルムを指定できます。すると、指定されたパスまたはレルムに一致するリクエストにだけ認証が適用されます。たとえば、http://www.example.com/ というパスを入力すると、http://www.example.com/ で始まるリクエストにだけ指定された認証情報が使用されます。
すべてのリクエストに認証情報を適用する場合は、パスおよびレルムを空のままにしておきます。
シナリオが認証の方法が異なる複数のサーバーにアクセスする場合、複数の認証情報を入力できます。SOAtest はパスおよびレルムによって、リクエストに適用するべき認証スキームを判断します。
次のシナリオの場合、http://www.example.com で始まるリクエストには Digest 認証が適用されます。http://www.parasoft.com で始まるリクエストには Kerberos 認証が適用されます。
SOAtest は、初回のシナリオ記録時は、SOAtest の [セキュリティ] 設定画面で指定された認証情報を使用しようとすることに注意してください。記録中に認証情報が使用され、認証が成功した場合、その認証情報が [ブラウザー再生オプション] に記録されます。