1

現在、SoapUI Free edition 3.2-beta 2 を使用しています。Xpath アサーションに奇妙な問題があります。

私はこれに応えています:

(...) そして、この xpath を使用して、id='2' の "niveau" が応答にあることをアサートしています。

Xpath 式;

//*:niveau[@id='2']

期待される結果は次のとおりです。

<mod0911:niveau id="2" libelle="Immatriculation" ordre="0" taille="0"/>

しかし、次のエラー メッセージが表示されます: XPathContains の比較に失敗しました。[ ] を期待しています。

しかし、私がこれを試してみると:

exists(//*:niveau[@id='2'])

期待される結果は次のとおりです。

しかし、この構文は読み取りと保守が非常に難しく、最初の構文を使用したいと思います (名前空間を無視して追加しようとしましたが、まだ機能しません)。

何か案は?

よろしく

4

5 に答える 5

2

FirstObject XML Editor ツールを使用して Xpath を生成できます。soapUI Pro で行っているように、選択した XPath を自動的に生成し、soapui の無料バージョンでその Xpath を使用できます。

于 2012-10-23T05:33:03.817 に答える
1

宣言するXPathは、実際には応答のXMLに対して実行されます。次に、それを「期待される結果」のテキストと比較します。

あなたが何をしようとしているのか100%わかりません。この応答を考えると:

<root>
  <a>
    <b id="2" />
  </a>
  <c>
  </c>
</root>

これを「Declare」//b[@id=2]に入れると、XMLに対してそのXPathが実行されます。そのXPath(テストされていない)は<b>要素のみを選択する必要があります。

その場合、「期待される結果」は次のようになります<b id="2" />

于 2010-03-30T19:13:32.390 に答える
0

プロ版の試用版を試してみると、優れた xpath エキスパートが組み込まれていることがわかります。サンプルのリクエストがあれば、探している値を選択するだけで xpath が生成され、値が表示されます。とてもかっこいい。xpath をコピーして無料版に貼り付ければ、準備完了です。または、あなたが私のような人なら、上司に Pro バージョンを購入するよう強く勧めてください。

于 2010-04-10T16:22:19.270 に答える
0

ノードの値だけでなく、XML タグを含める必要があります。

期待を [ ] から変更すると、 <nodeName id=2 />うまくいくはずです。

于 2012-10-23T13:31:08.110 に答える
0

アサーションを使用できます: //b[@id='2'] または //b[@id=2]

期待される結果:

http://i.stack.imgur.com/3o2xx.png

于 2014-01-20T13:06:57.730 に答える