2017-01-05 8 views
-2

Soap Ui APIレスポンスの指定されたタグ値を同じテストケースのgroovyスクリプトに転送します。これらの2つの間でプロパティ転送を試みましたが、レスポンスのデータ全体が貼り付けられます誰も私に良いIdeaを提案することはできますか?ありがとうございます。プロパティ転送In Soap Ui

+0

:たとえば、あなたは、テストステップがGroovy Scriptのであれば、以下のいずれかを使用し、<element>${#TestCase#RATE}</element>

  • 、その後、次の石鹸でRATE値にアクセスしたり、休息またはhttpまたはJDBC要求しなければなりませんサンプルレスポンスを提供していただけますか? – Rao

  • 答えて

    0

    サンプルをxmlとして説明していますので、サンプルは提供されていません。以下、要求を実行するには

    が応答XMLです:

    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
        <soap:Body> 
         <ConversionRateResponse xmlns="http://www.webserviceX.NET/"> 
         <ConversionRateResult>0.005</ConversionRateResult> 
         </ConversionRateResponse> 
        </soap:Body> 
    </soap:Envelope> 
    

    ConversionRateResult要素の値を取得する方法をお見せし、他のテスト手順でアクセスすることが利用できるようになります。 キーは、テストケースレベルのカスタムプロパティで指定された要素の値を、property expansionを使用してアクセスできる、テストケースの要求ステップにScript Assertionを使用して格納することです。

    スクリプトアサーション:プロパティの拡張を使用して同じテストケースのテスト手順を以下にRATEにアクセスする方法

    //Check if the response is not empty 
    assert context.response 
    
    //Closure to get the any element value(non-repeting) 
    def searchData = { data, elementName -> 
        data.'**'.find{ it.name() == elementName} 
    } 
    
    //Create object for the response 
    def parsedXml = new XmlSlurper().parseText(context.response) 
    
    //Call the above closure to get the value of ConversionRateResult which is 0.005 in above response 
    log.info searchData(parsedXml, 'ConversionRateResult') 
    
    //Store it at test case custom property called RATE 
    context.testCase.setPropertyValue('RATE', searchData(parsedXml, 'ConversionRateResult') as String) 
    

    • テストステップがRequestタイプステップの場合は、​​を使用してください。 context.expand('${#TestCase#RATE}')または
      context.testCase.getPropertyValue('RATE')
    関連する問題