2016-04-01 4 views
0

私は、残りのテストケースのペイロードの一部としてランダムな値を送るさまざまな方法を試してきました。返されたレスポンスにランダムな値を指定する必要もあります。SOAPUIでランダムな値を追加してアサートする残りのテスト

ペイロードにランダムな値を追加できます。しかし、私はその応答でその無作為な価値を主張することができません。

私は以下の方法を試しました。

  1. グローブスクリプトを追加し、グローバル変数を設定します。

    DEF randomValue = java.util.UUID.randomUUID() com.eviware.soapui.SoapUI.globalProperties.setPropertyValue( "randomValue"、randomValue)

そして$としてペイロードにそれを使用します{randomValue} このようにして、リクエストとアサーションの両方でアクセスできます。 これは、1つのリクエストでうまくいきます。多くの同時要求で負荷テストを実行すると、要求はランダム値ではなく同じ値になります。

  1. プロパティテストステップを使用してプロパティを設定します。

    $ {=(INT)(Math.random()* 100)

    これは、要求にランダムな値を証明しています。しかし、アサーションでは、ランダム値は新しい値です。それは要求のそれと同じではありません。

ご協力いただきまして誠にありがとうございます。

答えて

1

あなたは正しい軌道に乗っています。

def randomValue // = whatever you like: UUID.randomUUID() or Math.random() work fine 
testCase.setPropertyValue("randomValue", randomValue.toString()) 

これは、各テスト実行のために一度ランダムな値を生成します。

は、のようなものをテストセットアップスクリプトからランダムな値を設定してください。テストのどこからでも、プロパティの拡張子は${#TestCase#randomValue}となります。

+0

ありがとうあなたのリクエストに上記のJSON/XMLを設定します。できます。 – user1760178

1

再度JsonBuilderを使用して要求

3.Build JSON/XMLで要求

  • 挿入ランダムな値を解析するために使用JsonSlurperまたはxmlSlurper

    1. を解析し、あなたの要求を構築するために必要なことかもしれ/ xmlBuilder

      def builder = new JsonBuilder(your_changed_json) 
          def json = builder.toPrettyString() 
          json = groovy.json.StringEscapeUtils.unescapeJava(json) 
      
      1. step.testRequest.setRequestContent(json) 
        
  • 関連する問題