目的:实现指定Soap协议的压力测试
环境:SoapUI Pro 5.1.2 + Linux + simple-4.1.21.jar(实现Soap协议的接收、处理与响应) +wsdl
simple-4.1.21框架见网址:点击打开链接
1)安装SoapUI Pro 5.1.2 、部署处理Soap协议程序:SoapServerDemo
2)打开,依次操作如下,在【porject】项目处右击---new project(Ctrl - N)
---OK点击后打开New Soap Project窗口,填写Project Name 和选中 WSDL文件(参考附件All_SGW_WEBSERVICE.wsdl)
----点击OK后,窗口树会自动根据WSDL加载 SOAP信息,请求名为:Request 1, 点击 XML,填写SOAP报文(唯一性常量SessionID和自增长Number变量sessioncount定义将在后面进行说明)如图
-----Request 1 上创建TestCase,其它操作默认配置,如图
----成功后出现TestSuite目录树,双击“SgwQueryRequest - Request 1” 可看到 Request 1 请求报文头信息
---接下来定义 唯一性常量SessionID和自增长Number变量sessioncount,点击“SgwQueryRequest - Request 1”,输入“SessionID”
-----完成的定义,接下来创建 Load Test 压测,
<?xml version='1.0' encoding='UTF-8'?>
<wsdl:definitions name="SGWService"
targetNamespace="http://www.chinatelecom.cn/SGW/SOAP" xmlns:ns1="http://schemas.xmlsoap.org/wsdl/soap/http"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.chinatelecom.cn/SGW/SOAP"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:types>
<xs:schema targetNamespace="http://www.chinatelecom.cn/SGW/SOAP"
version="1.0" xmlns:tns="http://www.chinatelecom.cn/SGW/SOAP"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import namespace="http://www.chinatelecom.cn/SGW/SOAP" />
<xs:element name="SgwQueryAck" nillable="true" type="tns:SgwQueryAck" />
<xs:element name="SgwQueryReq" nillable="true" type="tns:SgwQueryReq" />
<xs:complexType name="SgwQueryReq">
<xs:sequence>
<xs:element name="MID" type="xs:string" />
<xs:element name="UID" type="xs:string" />
<xs:element name="PWD" type="xs:string" />
<xs:element name="SCCODE" type="xs:string" />
<xs:element name="DN" type="xs:string" />
<xs:element name="RTT" type="xs:string" />
<xs:element minOccurs="0" name="SIG" type="xs:string" />
<xs:element minOccurs="0" name="REPTAG" type="xs:int" />
<xs:element minOccurs="0" name="RSV1" type="xs:string" />
<xs:element minOccurs="0" name="RSV2" type="xs:string" />
<xs:element name="INFO" type="xs:string" />
<xs:element name="DATA" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="SgwQueryAck">
<xs:sequence>
<xs:element name="MID" type="xs:string" />
<xs:element name="RTT" type="xs:string" />
<xs:element minOccurs="0" name="SIG" type="xs:string" />
<xs:element minOccurs="0" name="REPTAG" type="xs:int" />
<xs:element name="RC" type="xs:string" />
<xs:element minOccurs="0" name="DS" nillable="true"
type="xs:string" />
<xs:element name="INFO" nillable="true" type="xs:string" />
<xs:element name="DATA" nillable="true" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:schema>
</wsdl:types>
<wsdl:message name="SgwQueryRequest">
<wsdl:part element="tns:SgwQueryReq" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="SgwQueryRequestResponse">
<wsdl:part element="tns:SgwQueryAck" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:portType name="SGWService">
<wsdl:operation name="SgwQueryRequest">
<wsdl:input message="tns:SgwQueryRequest" name="SgwQueryRequest">
</wsdl:input>
<wsdl:output message="tns:SgwQueryRequestResponse" name="SgwQueryRequestResponse">
</wsdl:output>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="SGWServiceServiceSoapBinding" type="tns:SGWService">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="SgwQueryRequest">
<soap:operation soapAction="" style="document" />
<wsdl:input name="SgwQueryRequest">
<soap:body use="literal" />
</wsdl:input>
<wsdl:output name="SgwQueryRequestResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="SGWService">
<wsdl:port binding="tns:SGWServiceServiceSoapBinding" name="SGWServiceSOAP">
<soap:address location="http://192.168.1.33:4372/ws/SGWService" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>