XMLリソースの内容を確認する

Verify XML 」標準モジュールは、XPath式あるいは動的式「 CONTAINS 」を使用して、XMLリソースの内容全体を検証できます。このモジュールは、「 Engines」->「XML 」の標準サブセットのサブセットに含まれています。

XPathを使用してXMLリソースの内容を検証する

XPath式を使用してXMLリソースの内容を検証するには、Verify XML 」モジュールを使用します。

このモジュールは標準サブセットの一部です。「 Standard modules」->「Engines」- >「XML 」の中にあります。

XMLリソース全体ではなく、特定のノードにXPath式を適用する場合は、 chapter "XPath式によるXML要素の選択"

XMLリソース全体にXPath式を適用するには、以下の手順に従ってください。

  1. Verify XML 」モジュールからテストステップを作成します。

  2. Resource 」テストステップ値に必要なXMLリソースを定義します。

  3. 「XPath」テストステップ値に完全な XPath 式を入力します。必ず式全体を引用符で囲んでください。特殊文字「"」は、必ずもう1つの「"」を前に付けてエスケープする必要があります。

  4. Value 」テストステップ値に期待する結果を指定し、ActionModeを「 Verify 」に設定します。

  5. 必要に応じて、XPath式で使用する名前空間を定義することもできます。名前空間ごとに、「 Namespaces 」テストステップ値の下に新しいテストステップ値を作成します。「 Name 」列に名前空間の名前を入力し、「 Value 」列にURIを入力します。

以下の例では、「 books.xml 」XMLファイルを「 myXML 」リソースに読み込みます。「XPath」->「Value」の値「 poet 」が、XPath式「 "//book[@id=""bk002""]/author"」の結果と比較されます。

XPathを使用してXMLコンテンツを検証する

この例では、エンジンはXPathを使用して、「 Add - Request 1 」XMLリソースで「 AddResult 」ノードを検索します。XMLリソースでは2つの名前空間が定義されており、XPath式でも使用されています。「 Value 」テストステップ値は、結果が「 98 」に等しいかどうかを確認します。名前空間は、名前とURIを使用してNamespacesノードで定義されます。

例: XPathと名前空間を使用してXMLコンテンツを検証する

動的式XMLDIFFを使用してXMLリソースを確認する方法

動的式「 XMLDIFF 」を使用すると、XPathの結果を確認する際に、完全なXML構造を指定できます。この場合、パラメータを使用して、XMLのコメントやプレフィックスを名前空間で考慮するかどうかを定義できます。この値は、テストステップ値「XPath」->「Value」の「 Verify XML 」標準モジュールで使用されます。

構文:

{XMLDIFF[<XML structure>][<Ignore XML comments>][<Ignore prefix>]}

パラメータ

説明

XML structure

XPath式の結果と比較される完全なXML構造。

Ignore XML comments

オプションのパラメータです。「 True 」または「 False 」の値を使用して、XML構造でコメントを無視するかどうかを指定します。このパラメータが指定されていない場合は、コメントが考慮されます。

Ignore prefix

これは「 True 」または「 False 」の値を使用して、XML構造とXPath結果で名前空間プレフィックスが異なる可能性があるかどうかを示します。名前空間URIは同じものにしてください。パラメータを指定していない場合は、プレフィックスは同じにしてください。

以下の例では、XPathを使用して「 myXML 」XMLリソース内の「 describeby 」ノードを検索します。

<describedby xmlns:cs="http://myService">
    <!--comment to be ignored-->
    <cs:value>Daniel Defoe</cs:value>
    <name>Author</name>
</describedby>

このノードは以下のノードに対応している必要があります。

<describedby xmlns:ab="http://myService">
    <ab:value>Daniel Defoe</ab:value>
    <name>Author</name>
</describedby>

XMLDIFF を使用して検証を行います。パラメータに「 True 」を指定すると、両方のノードでコメントが無視され、URIを使用して名前空間が比較されます。

例: XMLDIFFを使用してXMLコンテンツを検証する

値を指定してXMLリソースの内容を検証する

Verify XML 」モジュールを使用して、XMLリソースに特定のテキストが存在するかどうかを確認します。XML全体を指定する、またはコンテンツ全体に対して正規表現を入力する、あるいは動的式「 CONTAINS 」を使用することができます。

以下の例では、「 books.xml 」XMLファイルを「 myXML 」リソースに読み込みます。1つ目のの「 Content 」テストステップ値では、動的式「 CONTAINS 」を使用して、XMLリソースに「 bk002 」が含まれているかどうかを検証します。

2つ目の「 Content 」テストステップ値は、XMLリソースと正規表現.*CDATA.*が 一致するかどうかを検証します。

XMLコンテンツの検証

動的式「CONTAINS」を使用して文字列を確認する方法

Verify XML 」モジュールを動的式「 CONTAINS 」と共に使用して、指定されたXMLリソースに特定の文字列が存在するかどうかを確認します。「 ignore case 」パラメータを使用して、その値を「 true 」または「 false 」のいずれかに設定し、検証時に大文字と小文字を区別するかどうかを定義することもできます。このパラメータが指定されていない場合、システムは文字列の表記法を使用します。

構文:

{CONTAINS[<string>][<ignore case>]}

パラメータ

説明

String

文字列は指定されたXMLリソースで検索されます。

Ignore case

オプションのパラメータです。「 True 」または「 False 」の値を使用して、XML構造でコメントを無視するかどうかを指定します。このパラメータが指定されていない場合は、コメントが考慮されます。

以下の例では、「 books.xml 」XMLファイルを「 myXML 」リソースに読み込みます。

1つ目の「 Content 」テストステップ値では、動的式「 CONTAINS 」を使用して、XMLリソースに値「 bk002 」が含まれているかどうかを検証します。

2つ目の「 Content 」テストステップ値では、「 <title>The Poet's First Poem</title>

3つ目のテストステップ値は、大文字小文字の区別が適用されるかどうかにかかわらず、「 poet 」という値がリソースに含まれているかどうかを確認します。

CONTAINSを使用してXMLコンテンツを検証する