在SoapUI中是否有一种方法可以覆盖单个测试用例的WSDL必需字段的默认行为?

时间:2012-02-29 19:56:05

标签: xml soapui

我有一个TestCase,API声明要更新UserType我需要传递以下XML。因此,我在XML选项卡中更改XML并运行测试,它将执行更新。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:mup="http://www.XXX.com/it/enterprise/emc/v1/mup" 
xmlns:mup1="http://www.XXX.com/it/enterprise/emc/v1/muptypes">
<soapenv:Header/>
  <soapenv:Body>
  <mup:UpSertUserProfileRequest>
     <mup:userProfileInfo>
        <mup1:userUid>${Properties#userUid}</mup1:userUid>
        <mup1:userType>Lite User</mup1:userType>
        <mup1:changeMode>AdminProfileUpdate</mup1:changeMode>
     </mup:userProfileInfo>
  </mup:UpSertUserProfileRequest>
 </soapenv:Body>
</soapenv:Envelope>

当我第二次运行测试时,testCase响应是“失败”。当我查看XML包含模式中所需的其他字段时。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:mup="http://www.XXX.com/it/enterprise/emc/v1/mup"
xmlns:mup1="http://www.XXX.com/it/enterprise/emc/v1/muptypes">
<soapenv:Header/>
<soapenv:Body>
   <mup:UpSertUserProfileRequest>
     <mup:userProfileInfo>
        <mup1:userUid>${Properties#userUid}</mup1:userUid>
       <mup1:loginName/><mup1:businessEmailAddress/><mup1:password/><mup1:firstName/><mup1:lastName/><mup1:primaryPhoneNumber/><mup1:alternatePhoneNumber/><mup1:alternateEmailAddress/><mup1:userStatus/><mup1:userType>Lite User</mup1:userType>
       <mup1:partyId/><mup1:entityId/><mup1:siteDunsNo/><mup1:globalDunsNo/><mup1:domesticDunsNo/><mup1:parentDunsNo/><mup1:osr/><mup1:siteAddress1/><mup1:siteAddress2/><mup1:city/><mup1:state/><mup1:country/><mup1:zipCode/><mup1:siteName/><mup1:screenName/><mup1:userLocation/><mup1:secretQuestionOneId/><mup1:secretQuestionOneValue/><mup1:secretQuestionTwoValue/><mup1:secretQuestionTwoId/><mup1:changeMode>AdminProfileUpdate</mup1:changeMode><mup1:changeType/><mup1:preferredAddress1/><mup1:preferredAddress2/><mup1:preferredCity/><mup1:preferredState/><mup1:preferredCountry/><mup1:preferredZipCode/><mup1:overrideEmailCheck/><mup1:registrationFromDate/><mup1:registrationToDate/><mup1:userValidated/><mup1:companyProfileId/><mup1:docsPerPage/><mup1:userCreatedDate/><mup1:lastActivityDate/><mup1:sortBy/><mup1:sortOrder/><mup1:pageNumber/><mup1:resultsPerPage/><mup1:searchIdentityStr/><mup1:searchAttrName/><mup1:searchAttrValue/><mup1:searchCompProfName/><mup1:partyNumber/><mup1:termsCheck/><mup1:regCompleteCheck/><mup1:demoteCheck/><mup1:srchPrefLang/><mup1:userLockStatus/><mup1:primPhAreaCd/><mup1:primPhCountryCd/><mup1:prefPhAreaCd/><mup1:prefPhCountryCd/><mup1:adminUserName/><mup1:regValCode/><mup1:ngadmUserLock/><mup1:siteSpecOSR/>
     </mup:userProfileInfo>
  </mup:UpSertUserProfileRequest>
</soapenv:Body>
</soapenv:Envelope>

所以我问:在SoapUI中是否有一种方法可以覆盖单个测试用例的WSDL必需字段的默认行为?

1 个答案:

答案 0 :(得分:0)

当您离开表单视图时,SoapUI会自动强制执行从WSDL到XML的必需字段,并且不能覆盖此行为。我更改了我的首选项/ soapUI Pro /默认请求编辑器中的设置:来源,并避免在此测试用例中的表单视图。 简而言之,这是SoapUI的一个已知问题。它列在SoapUI的未来升级中以进行更改。