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