[英]How to Test for None Existing Data Elements in SoapUI's Response Against JDBC Request's
[英]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.