簡體   English   中英

SOAPUI選擇一個JDBC請求值來針對Soap響應進行斷言

[英]SOAPUI picking up a JDBC request value to assert against soap response

我已經在SOAPUI中設置了一個測試,第一步是對db的JDBC查詢。 該查詢返回3個值。 我在JDBC步驟中將所有3個值都設置為屬性。

然后,我要進行屬性轉移的另一個步驟,最后是SOAP請求步驟。

我將兩個JDBC屬性傳遞給SOAP請求步驟。 這一切都已成功設置。 我希望做的最后一步是針對SOAP響應中的特定值聲明最終的JDBC屬性。

到目前為止,我有這個斷言,但是按照下面的常規斷言,它與硬編碼值('9Jg')相反。 我想停止對該值進行硬編碼,並且希望從JDBC屬性中提取該值。

def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
def holder = groovyUtils.getXmlHolder( messageExchange.responseContent )
def pxml = new XmlSlurper().parseText(context.response)

def expectedCodes = ['9Jg'] 
def actualCodes = pxml.'**'.findAll{it.name() == 'CurrHospProductCode'}*.text() as List
assert expectedCodes.sort() == actualCodes.sort()

編輯:基於OP的評論

<?xml version="1.0" encoding="UTF-8"?>
<Results>
   <ResultSet fetchSize="64">
      <Row rowNumber="1">
         <TW606_POLRELATION.HPOLICY>H00000032</TW606_POLRELATION.HPOLICY>
         <TW606_POLRELATION.CUSTOMER>26485588</TW606_POLRELATION.CUSTOMER>
         <TW304_PRODHIST.PRODUCT_1>FJ0</TW304_PRODHIST.PRODUCT_1>
      </Row>
   </ResultSet>
</Results>

編輯:我的測試用例的圖片如下。

在此處輸入圖片說明

編輯:包括下面的第三步響應。 我想斷言CurrExtrasProductCode中的值

     <ns0:ServiceBody>
        <ns1:GetTreatmentTypesResponse xmlns:ns1="http://www./v1-0">
           <ns1:ProductAndTreatmentTypes>
              <ns2:ProductHistory xmlns:ns2="http://www./v1-0">
                 <ns2:CurrHospProductCode>9J0</ns2:CurrHospProductCode>
                 <ns2:CurrHospProductDesc>Saver $500 excess</ns2:CurrHospProductDesc>
                 <ns2:CurrHospProductStartDate>2016-06-14</ns2:CurrHospProductStartDate>
                 <ns2:CurrHospProductExcessPaid>No</ns2:CurrHospProductExcessPaid>
                 <ns2:PrevHospProducts/>
                 <ns2:CurrExtrasProductCode>08S</ns2:CurrExtrasProductCode>
                 <ns2:CurrExtrasProductDesc>Saver Flexi Extras</ns2:CurrExtrasProductDesc>
                 <ns2:CurrExtrasProductStartDate>2016-06-14</ns2:CurrExtrasProductStartDate>
                 <ns2:CurrExtrasProductlengContCover>15</ns2:CurrExtrasProductlengContCover>
                 <ns2:PrevExtrasProducts/>
                 <ns2:PolicyStartDate>2016-06-14</ns2:PolicyStartDate>
                 <ns2:CurrAddOnProducts/>
              </ns2:ProductHistory>

您可以在groovy腳本或腳本斷言中從resultSet檢索值,如下所示:

context.expand( '${NAME of JDBC Request#ResponseAsXml#//TW304_PRODHIST.PRODUCT_1}' )

(我不確定路徑,也許您需要填寫完整的路徑以獲取您的值)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM