このセクションでは、 Diff ツールについて説明します。 Diff ツールは、保存データと受信データを比較し、差異をレポートします。
このセクションの内容:

Diff ツールとは

Diff ツールは、バイナリ、テキスト、 XML 、 JSON をサポートした、ベスト プラクティス回帰テスト ソリューションの現行のバックボーンです。Diff ツールは、他のツールのアウトプットとして受け取ったデータや、指定した他のインプットのデータとエディター上のデータを比較し、差分がある場合にレポートします。

Diff プロジェクトのコンフィギュレーション パネルは主に 2 つのセクションに分かれています。上部のセクションは全般オプションです。下部のセクションは [回帰コントロール] タブ、 [違いを無視] タブ、そして [オプション] タブです。 [オプション] タブでは、テキスト、バイナリ、 XML の比較オプションを設定できます。

テスト スイート内のすべての Diff 回帰コントロールのロジックやデータ ソースの使用方法をカスタマイズするには、次の操作を行います。

  • テスト ケース エクスプローラーでテスト スイート ノードをダブルクリックし、オプションを修正します。詳細については、「回帰オプション」を参照してください。

他のツールと同じように、プロジェクトにデータ ソースが追加されている場合、ツール用のデータ ソースを指定できます。Diff ツール用のデータ ソースは、コントロール値を与えるために使用されるデータ ソースを指定します。 データ ソースの詳細については「テストのパラメータライズ (データ ソース、変数、または他のテストの値を使用)」を参照してください。

Binary Diff モード

バイナリ ファイルの差分を確認するには、[比較モード] から [バイナリ] を選択します。

回帰コントロール

「コントロール」値 (今後のすべての結果で比較される値) として使用するデータ ソース値、ファイル、テキストを選択します。以下のいずれかのオプションを選択します。

テキスト Diff モード

テキスト Diff モードの以下のオプションにアクセスするには、[比較モード] ドロップダウン リストから [テキスト] を選択します。

回帰コントロール

「コントロール」値 (今後のすべての結果で比較される値) として使用するデータ ソース値、ファイル、テキストを選択します。 以下のいずれかのオプションを選択します。

違いを無視

テキスト モードの [違いを無視] タブでは、 [削除] ボタンをクリックして「無視するテキスト差異」を削除できます。

オプション

テキスト モードの [オプション] タブでは、以下のオプションを設定できます。

XML Diff モード

XML Diff モードの以下のオプションにアクセスするには、[比較モード] ドロップダウン リストから [XML] を選択します。XML モードでは XML ファイルを解析し、要素ごと、そして属性ごとに XML ファイルを比較します (無視できる空白は無視します)。比較結果は XML 文書として表現されます。XML モードを使用する場合、両方の入力が整形式の XML 文書であり、同じ種類の文書要素を持っていることを確認してください。 

回帰コントロール

「コントロール」値 (今後のすべての結果で比較される値) として使用するデータ ソース値、ファイル、テキストを選択します。回帰コントロールの設定には、XML メッセージを設定するための 2 種類のグラフィカルな表現が用意されています。

リテラル XML 回帰コントロール

リテラル XML モードの [回帰コントロール] タブでは、以下のオプションを設定できます。

フォーム XML 回帰コントロール

フォーム XML を回帰コントロールとして選択した場合、[回帰コントロール] タブのオプションは XML ビュー ツリーと XML 設定に分割されます。

XML ビュー ツリーには、リテラル XML がツリー形式で表示され、個々のツリー ノードが 1 つの要素を表します。 XML ビュー ツリーのオプションは、 SOAP Client ツールのフォーム XML SOAP Envelope と同じように設定できます。  詳細については、「XML ビュー ツリーの操作」を参照してください。

XML 設定では、 XML コンポーネントの追加、削除、名前変更を行うことができます。XML 設定のオプションは、SOAP Client ツールのフォーム XML SOAP Envelope のオプションと同じように設定できます。詳細については、「XML 構成タブの操作」を参照してください。

違いを無視

XML モードの [違いを無視] タブから、適切なボタンをクリックすることで XPath の設定を追加または削除できます。詳細については、 「Understanding XPaths」 を参照してください。

XML オプション

XML モードの [オプション] タブでは、以下のオプションを設定できます。

ExamXML MDCXML の使用

ExamXML はサードパーティ製のツールであり、A7Soft から別個に購入し、ライセンスを取得します。ExamXML MDCXML を選択する場合、実行モジュールおよびオプション ファイルの場所が指定されていることを確認してください。
注意:

回帰テストの構成」の説明にあるように、期待されるコンテンツを Diff ツールに埋め込むのではなく、ファイルに保存することによって、外部的な回帰コントロールを自動的に作成できます。

VMTools の使用

 VMTools は製品に組み込まれています。追加のライセンスは必要ありません。VMTools を選択した場合、以下のオプションを指定できます。

ある条件下で、 VMTools はテキスト ベースで差分を取得します。この現象は、 XML が非常に複雑で、差異の数が多すぎる場合や完了までに時間がかかりすぎる場合に起こります。

この現象が起こった場合、以下のいずれかのメッセージがコンソール ビューに表示されます。

Did not run XML Diff, there are too many differences.Performing text mode diffing instead.

Did not run XML Diff, it did not finish within 30.0 secs.Performing text mode diffing instead.

XML 差分チェックの最大実行時間は、 [設定] パネルの [その他] タブ ([接続設定] > [デフォルト タイムアウト]) に設定されたデフォルト値です。ただし、 120 秒を超えることはありません。この時間を超えるとテキスト モードに変更されます。

JSON Diff モード

[Diff モード] ドロップダウン メニューから [JSON] を選択すると、[回帰コントロール] および [違いを無視] オプションが利用可能になります。

回帰コントロール

JSON モードの [回帰コントロール] タブでは、以下のオプションを設定できます。

違いを無視

JSON モードの [違いを無視] タブから、適切なボタンをクリックすることで XPath の設定を追加または削除できます。

XPath とは

XML モードで Diff ツールを実行した場合、実際の出力と Diff 値との差異が XPath で表現されます。  XPath は XML 要素の位置を表し、差異が発生した箇所、差異の種類、およびその差異が変更、挿入、削除によって発生したものかどうかを示します。

Diff ツールを実行するときにどの XPath を無視するかを指定できます。 XPath 全体を無視することも、 Content: Insert 操作などの特定の XPath 操作だけを無視することもできます。

XPath の除外は、回帰テストを失敗させる変化する値を除外するのに役立ちます。たとえば、頻繁に変わるタイムスタンプ値が結果に含まれる場合などです。タイムスタンプ値が同じになることはないので、 Diff ツールの設定値にタイムスタンプ値が一致することはまずありません。これはテストを失敗させます。この場合、この値の XPath を無視するように指定すれば、テストは失敗しません。

無視する XPath を設定する方法として、以下の 3 つの方法があります。

品質タスク ビューから指定

Diff ツールに「無視する XPath」を入力するには、Diff ツールに手動で XPath を入力するよりも、 [品質タスク] ビューで右クリックをする方法が簡単です。 XPath の位置は、回帰テストが失敗した後に [品質タスク] ビューにツリー形式で表示されます。

回帰テストが失敗した後に「無視する XPath」を指定するには、次の操作を行います。

  1. [品質タスク] ビューでエラーを右クリックし、ショートカット メニューの [Ignore XPath]をクリックします。選択した XPath が自動的に入力された状態で [無視する XPath の設定] ダイアログが表示されます。



  2. 無視する XPath 操作のチェックボックスをオンにします。次のオプションがあります。次のオプションが利用可能です。
  3. [OK] をクリックします。

    今後この Diff ツールを実行すると、指定した XPath 操作が比較処理から除外されます。また、この XPath 操作は Diff ツールの XML モードの [違いを無視] タブに表示されます。 XPath を変更する方法については 「Modifying XPath Settings」を参照してください。

手動での「無視する XPath」の入力

Diff ツールのコンフィギュレーション パネルで「無視する XPath」を手動で入力したり貼り付けたりすることができます。

XPath を手動で入力するには、以下の操作を行います。

  1. テキスト、 XML 、 JSON モードの Diff ツールで [違いを無視] タブをクリックします。
  2. [追加] をクリックします。[無視する XPath のリスト] の [XPath] 列に空のフィールドが表示されます。デフォルトでは、[設定] 列は自動的にすべての XPath 操作を指定した状態が入力されます。つまり、ユーザーが追加したすべての XPath は無視されます。1 つの XPath 操作だけを除外する方法については「Ignoring XPaths from the Form XML Tree」を参照してください。
  3. 空の [XPath] フィールドに XPath の位置を入力します。
  4. ステップ 1 から 3 を繰り返して XPath を追加します。
  5. [OK] ボタンをクリックします。

変更した回帰テストを今後実行すると、追加したすべての XPath が無視されます。「無視する XPath」を変更する方法については 「Modifying XPath Settings」を参照してください。

フォーム XML ツリーから「無視する XPath」を指定

[フォーム XML] タブのフォーム XML ツリーから直接「無視する XPath」を指定することもできます。次の操作を行います。

  1. フォーム XML ツリーで要素のノードを右クリックし、ショートカット メニューの [無視する XPath を設定] をクリックします。
  2. 無視する XPath 操作のチェックボックスをオンにします。次のオプションがあります。次のオプションが利用可能です。
  3. [OK] をクリックします。
    フォーム XML ツリーにおいて、選択した要素のノードが灰色で表示されます。変更した回帰テストを今後実行すると、指定したすべての XPath 操作が無視されます。
    XPath を無視する設定をリセット (解除) するには、その XPath ノードを右クリックし、ショートカット メニューの [無視する XPath を削除] をクリックします。ノードの色が灰色から黒に戻ります。このノードは今後無視されません。

「無視する XPath」の共有リストの作成

「無視する XPath」の設定を Diff ツール自体に持たせるだけでなく、共有リストを参照することもできます。共有リストは他の Diff ツールからも使用できます。 

XPath 設定の変更

デフォルトでは、 [違いを無視] タブに XPath を追加すると、その XPath が取り得るすべての操作が [設定] 列に表示されます。そのため、次に回帰テストを実行したとき、これらのすべての操作が無視されます。しかし、XPath 設定を変更することで、すべての操作を除外するのではなく、特定の操作だけを除外することができます。

XPath 設定を変更するには、以下の操作を行います。

  1. [違いを無視] タブで、変更する XPath を選択して [変更] ボタンをクリックします。[無視する XPath の設定] ダイアログが表示されます。



  2. 無視する XPath 操作のチェックボックスをオンにします。次のオプションがあります。次のオプションが利用可能です。
  3. [OK] をクリックします。

変更した回帰テストを今後実行すると、指定したすべての XPath が無視されます。


ビデオ チュートリアル

回帰コントロールを生成して更新する方法について説明します。