cancel
Showing results for 
Search instead for 
Did you mean: 

Can't extract a value from a label to a Property

SOLVED
Occasional Contributor

Can't extract a value from a label to a Property

Hi all

 

I'm newbie with SOAP and i'm having problems when i try to extract a value from a label to a Property.

 

I have this already done for other steps but in this case i don't know what i'm doing wrong.

 

To help you to understand my problem let me insert my Response and also my Script Assertion (that is failing right now)Smiley Frustrated

 

This is my repsonse

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Body>
      <list:getSailingListResponse xmlns:alpha="http://www.opentravel.org/OTA/2003/05/alpha" xmlns:list="http://xxxx.com/Interfaces/SailingList">
         <alpha:OTA_CruiseSailAvailRS MaxResponses="20" MoreDataEchoToken="2018-08-0307PANTLMO" MoreIndicator="true" SequenceNmbr="0" Version="1.0">
            <alpha:Success/>
            <alpha:Warnings>
               <alpha:Warning Type="3"/>
            </alpha:Warnings>
            <alpha:SailingOptions>
               <alpha:SailingOption>
                  <alpha:SelectedSailing ListOfSailingDescriptionCode="6" Duration="P7N" PortsOfCallQuantity="5" Start="2018-07-06" Status="36">
                     <alpha:CruiseLine ShipCode="MO" VendorCode="PUL"/>
                     <alpha:Region RegionCode="PANTL" SubRegionCode="PAC"/>
                     <alpha:DeparturePort LocationCode="ONX"/>
                     <alpha:ArrivalPort LocationCode="ONX"/>
                  </alpha:SelectedSailing>
                  <alpha:InclusivePackageOption CruisePackageCode="MOPS0780" InclusiveIndicator="false"/>
               </alpha:SailingOption>
               <alpha:SailingOption>
                  <alpha:SelectedSailing ListOfSailingDescriptionCode="6" Duration="P7N" PortsOfCallQuantity="5" Start="2018-07-07" Status="36">
                     <alpha:CruiseLine ShipCode="MO" VendorCode="PUL"/>
                     <alpha:Region RegionCode="PISGR" SubRegionCode="PAC"/>
                     <alpha:DeparturePort LocationCode="CTG"/>
                     <alpha:ArrivalPort LocationCode="CTG"/>
                  </alpha:SelectedSailing>
                  <alpha:InclusivePackageOption CruisePackageCode="MOPS0783" InclusiveIndicator="false"/>
               </alpha:SailingOption>
            </alpha:SailingOptions>
         </alpha:OTA_CruiseSailAvailRS>
      </list:getSailingListResponse>
   </soapenv:Body>
</soapenv:Envelope>

And this is my Assertion Script

 

def CruisePackageCodeToChoose = new XmlSlurper().parseText(context.response)."**".find{ 
	it.SelectedSailing."**".find{
		            it.'@RegionCode'.text() == "PANTL"
	}
 }InclusivepackageOption.@CruisePackageCode?.text()

context.testCase.setPropertyValue('CruisePackageCode', CruisePackageCodeToChoose)

The Assertion message is "Script Assertion Passed" but the property CruisePackageCode (at a TestCase level) is not populated with the value of @CruisepackageCode, that is MOPS0780

 

 

Thanks in advance for your support.

 

3 REPLIES
Highlighted
Occasional Contributor

Re: Can't extract a value from a label to a Property

Hi All

Any idea? i'm trying different ways to extract but neither of its works as expected.

Occasional Contributor

Re: Can't extract a value from a label to a Property

Hi All

 

finally i solve my problem.

 

Here you have the code cause maybe someone could have the same question in a future.

def CruisePackageCodetoChoose = new XmlSlurper().parseText(context.response)."**".find{ 
	it.SelectedSailing.Region.find{
				            it.'@RegionCode'.text() == "PISGR"
			}
 }.InclusivePackageOption.@CruisePackageCode?.text()
context.testCase.setPropertyValue('CruisePackageCode', CruisePackageCodetoChoose)

 

Best regards

Occasional Contributor

Re: Can't extract a value from a label to a Property

Hi All

 

Finally i solve my problem.

 

Here you have the code cause maybe someone could have the same question in a future.

def CruisePackageCodetoChoose = new XmlSlurper().parseText(context.response)."**".find{ 
	it.SelectedSailing.Region.find{
				            it.'@RegionCode'.text() == "PISGR"
			}
 }.InclusivePackageOption.@CruisePackageCode?.text()
context.testCase.setPropertyValue('CruisePackageCode', CruisePackageCodetoChoose)

 

Best regards

Latest News
Top Kudoed Authors