2

特定の値を返す webService があります。私はそれらの値がどうなるか知っています。XML からそれらを選択したいのですが、それらの値が true の場合は、アサーションを通過させたいと考えています。この結果が得られた場合、テストに合格したと想像してください...そうであるとどのように断言できますか?

     <BasicPersons>
           <id>4</id>
           <firstName>Patricia</firstName>
           <middleName>A</middleName>
           <lastName>Cluss</lastName>
        </BasicPersons>
        <BasicPersons>
           <id>5</id>
           <firstName>Benjamin</firstName>
           <middleName>L</middleName>
           <lastName>Handen</lastName>
        </BasicPersons>
        <BasicPersons>
           <id>6</id>
           <firstName>Ellen</firstName>
           <lastName>Frank</lastName>
        </BasicPersons>
        <BasicPersons>
4

2 に答える 2

4

SoapUIは、応答からXML要素を抽出し、それを期待されるデータと比較するテストステップにXPathアサーションを提供します。

例としてXMLフラグメントを取り上げましょう(整形式にするためにルート要素を追加しました)。最初にSoapUIで新しいTest Requestステップを作成し、リクエストXMLを入力します。次に、応答にid=4のBasicPersons要素と他のすべての指定されたフィールドが含まれているかどうかを確認しましょう。グループXPath Matchから新しいアサーションを追加します。Property Content次に、チェックの式を入力します。これが私が得るものです:

boolean(/root/BasicPersons[id=4 and firstName="Patricia" and middleName="A" and lastName="Cluss"])

Expected ResulttrueXPathがXML応答と一致する場合になります。それ以外の場合、アサーションは失敗します。

応答から複数の人をテストするために、複数のアサーションを作成できます。

于 2012-11-29T08:30:49.270 に答える
1

次のようなxp​​ath式...

((//*:BasicPersons[1]/*:middleName)='A' and (//*:BasicPersons[1]/*:firstName)='Patricia') and so on for other fields)

すべての条件が応答に一致すると、これはTRUEを返します。

于 2012-11-29T20:31:42.807 に答える