2017-11-22 3 views
0

私はSOAP UI Freeを使用します。前のリクエストの結果による特定のテストステップの条件付き実行

以前の応答がnumber(id)を返し、特定のテストステップを条件付きで実行するかどうかを確認したいと思います。 以下の私の擬似コード。 groovyを使ってこのアクションを達成するにはどうすればいいですか?

回答が得られ、番号が含まれていることを確認して200を返すにはどうすればよいですか?

どのように私はこの番号を抽出し、

がどのように応答がtrueの場合に比較することができます

次のリクエストのパラメータとして使用することができますか?

応答サンプル(200):

523455 

応答サンプル(404):

{ 
    "category": "BUSINESS", 
    "code": "NOT_FOUND", 
    "description":"Account not found", 
    "httpStatus": 404 
} 

1.step GET accountIdを

2.step GROOVY

if(accountId is number and returns 200){ 
    extract this number from json 
     run testRunner.testStep("removeAccount) for extracted number 
      if(response.equals("true"){ 

       testRunner.runTestStep("createNewAccount") 
     } 
} 
+0

カッツは、あなたが話している応答を示す気でしょうか? – Rao

+0

もちろん、getAccountは数字だけを返します。たとえば、89766または9001のように、中かっこなしの数字だけです。 – Kac

+0

質問を編集して回答サンプルを提供してください。 – Rao

答えて

0

1 - プロパティの転写工程を使用します。

  • ターゲット真
  • に "ソースが不足して上のヌル設定"
  • セット( "$の.ID" のような何かをする必要があります)JSONPathを使用して、IDあなたのテストケースのカスタムプロパティに格納します(例:グルーヴィーなスクリプトを使用して -

    curHeaders = testRunner.testCase.testSteps["Get token"].testRequest.response.getResponseHeaders() 
    
    testRunner.testCase.setPropertyValue("http status", curHeaders["#status#"][0]) 
    

    2:あなたがHTTPステータスコードをしたい場合は、「curId」)は

また、あなたはこのようなものを使用して、別のカスタム変数でグルーヴィーなスクリプトでそれを保存する必要がありますステップ: 上記の変数を取得します。これらの変数

curId = testRunner.testCase.getPropertyValue("curId") 
curHttpStatus = testRunner.testCase.getPropertyValue("http status") 

テストおよびtrueの場合は、テスト工程 "removeAccount" を実行します。

if(curId && (curHttpStatus == 'HTTP/1.1 200 OK')) 
{ 
    removeActionTestStep = testRunner.testSteps["removeAccount"] 
    removeActionTestStep.run(null, false) 

} 

注:removeAccountテストステップでは、カスタム変数curIdを参照する必要があります(例:あなたの応答は、それが等しい真のようになりますここで、「$を{#のTestCase#curId})を使用しますので、jsonSlurper

removeActionResultJSON = context.expand('${removeAccount#Response}') 
removeActionResultJSONSlurper = new groovy.json.JsonSlurper().parseText(removeActionResultJSON) 

を使用して除去した後createAccountパーツを追加することができ、このID

でそれを実行すると、その後、その後、ターゲット場合は別のものを使用して - 。以下のようなステートメントを実行し、このことができます

希望、

トーマス

関連する問題