1

私は最近、soapui を使用して Web サービスをテストし始めましたが、かなり新しいものです。リクエストにプロパティ値を文字列として埋め込む方法を考えていました。たとえば、リクエストは次のようになります

<org:Customer org1:Description="customer" org1:DisplayName="google" 
org1:Name="google"/>

本質的に私はこれをこのようなことをしようとしています、

<org:Customer org1:Description=${#Project#orgdesc}     
org1:DisplayName=${#Project#orgdisplayname}        
org1:Name=${#Project#orgdisplayname}/>

テストをパラメーター化するために、プロジェクト レベルで上記のすべてのフィールドにプロパティを定義しました。これらのプロパティをリクエスト内に埋め込もうとしています。次のことを試しましたが、どれも機能しません。誰かが私に欠けているものを教えてもらえますか?

編集#1

私は以下で正しいことをしていないと思います。上記の元のリクエストでは、Description、DisplayName、および Name が Customer の属性であり、以下の子ノードとしてリクエストを送信するためです。根本的に間違っているようです。では、定義したプロパティの値をタグの属性内に埋め込むにはどうすればよいでしょうか?

試行 1

  <org:Customer> 
         <arg0>
            <org1:Description>${#Project#orgdesc}</org1:Description>
            <org1:DisplayName>${#Project#orgdisplayname}</org1:DisplayName>
            <org1:Name>${#Project#orgname}</org1:Name>
         </arg0>
  </org:Customer>

試行 2

 <org:Customer> 
             <org1:Description>
              <arg0>${#Project#orgdesc}</arg0>
             </org1:Description> 
             <org1:DisplayName>
               <arg0>${#Project#orgdisplayname}</arg0>
             </org1:DisplayName>
             <org1:Name>
               <arg0>${#Project#orgname}</arg0>
             </org1:Name>
     </org:Customer>
4

1 に答える 1

2

「#」記号が 1 つ多すぎると確信しています。

「プロパティ展開」構文が必要だと思います。お気に入り:

def postResp = context.expand('${PostObject#response}')

これは groovy スクリプトによるものですが、送信前にメッセージ テンプレートに groovy が適用されていると思います。

${プロジェクト#組織名}

おそらくあなたが必要とするものです。

編集

その場合は、groovy から「最も低いスコープ」変数を設定し、それをメッセージで使用してみてください。次のようにします。

def city= context.expand( '${#Project#city}' )

context.setProperty("都市", 都市)

次に、XML に次のように記述します。

${都市}

XML 要求の一部を次に示します。

  <data:address>
     <data:street>${street}</data:street>
     <data:city>${city}</data:city>
     <data:state>${state}</data:state>
     <data:zipCode>${zip}</data:zipCode>
     <data:country>${country}</data:country>
  </data:address>
于 2012-07-13T15:02:49.320 に答える