Katalon Studio:如何为启用 MTOM 的 SOAP Web 服务创建 VerifyElementText 测试用例?
Katalon Studio: How to create VerifyElementText Test Case for MTOM Enabled SOAP Web Services?
我已经创建了 Web 服务项目。以下是我的测试用例的脚本,它验证 documentation:
中所示的元素文本
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
def response = WS.sendRequest(findTestObject('ProductById'))
WS.verifyElementText(response, "Product.Reference", "MyReference")
当我运行这个测试用例时,我得到了错误:[FAILED] - Unable to verify element text (Root cause: org.xml.sax.SAXParseException: Content is not allowed in prolog.)
然后我用了:com.kms.katalon.core.util.KeywordUtil#logInfo
看到了response.responseText
,我收到了,是:
--uuid:4e39ea48-6560-46b7-a30c-201dfaf98f51
Content-Type: application/xop+xml; charset=UTF-8; type="text/xml";
Content-Transfer-Encoding: binary
Content-ID: <root.message@cxf.apache.org>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns2:getProductResponse xmlns:ns2="http://mycompany.com/"><Product><Reference>VW3A8306R</Reference></Product></ns2:getProductResponse></soap:Body></soap:Envelope>
--uuid:4e39ea48-6560-46b7-a30c-201dfaf98f51--
我正在测试的 Web 服务 MTOM
已启用。这就是响应文本采用那种格式的原因。
本例如何创建测试用例?
您可以拆分内容,然后继续处理。以下是 Katalon Studio 脚本,可在这种情况下为您提供帮助:
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
def response = WS.sendRequest(findTestObject('ProductById'))
response.responseText = (response.responseText =~ '<soap:Envelope.*
</soap:Envelope>')[0]
WS.verifyElementText(response, "getProductResponse.Product.Reference",
"MyPreference")
我已经创建了 Web 服务项目。以下是我的测试用例的脚本,它验证 documentation:
中所示的元素文本import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
def response = WS.sendRequest(findTestObject('ProductById'))
WS.verifyElementText(response, "Product.Reference", "MyReference")
当我运行这个测试用例时,我得到了错误:[FAILED] - Unable to verify element text (Root cause: org.xml.sax.SAXParseException: Content is not allowed in prolog.)
然后我用了:com.kms.katalon.core.util.KeywordUtil#logInfo
看到了response.responseText
,我收到了,是:
--uuid:4e39ea48-6560-46b7-a30c-201dfaf98f51
Content-Type: application/xop+xml; charset=UTF-8; type="text/xml";
Content-Transfer-Encoding: binary
Content-ID: <root.message@cxf.apache.org>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns2:getProductResponse xmlns:ns2="http://mycompany.com/"><Product><Reference>VW3A8306R</Reference></Product></ns2:getProductResponse></soap:Body></soap:Envelope>
--uuid:4e39ea48-6560-46b7-a30c-201dfaf98f51--
我正在测试的 Web 服务 MTOM
已启用。这就是响应文本采用那种格式的原因。
本例如何创建测试用例?
您可以拆分内容,然后继续处理。以下是 Katalon Studio 脚本,可在这种情况下为您提供帮助:
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
def response = WS.sendRequest(findTestObject('ProductById'))
response.responseText = (response.responseText =~ '<soap:Envelope.*
</soap:Envelope>')[0]
WS.verifyElementText(response, "getProductResponse.Product.Reference",
"MyPreference")