方法一:使用LR自带的webservice协议,按照向导的提示:导入wsdl、选择服务名、形成脚本的框架、读懂并设定参数值,参照log返回信息,调试脚本........
方法二:利用LR的web(http/html)协议自带的web_custom_request()函数,向指定的URL地址POST相应的SOAP协议的HTTP消息。
下面首先给出根据wsdl文件生成SOAP消息的方法,然后给出函数示例:
根据wsdl文件生成SOAP消息可以借助工具XMLSpy这类的工具,它通过导入wsdl文件,建立相应服务的SOAP请求,示例如下:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<m:resetPassword xmlns:m="http://www.mbossuac.com.cn/ua" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<request xsi:type="xsd:string">String</request>
</m:resetPassword>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
说明:String就是要POST给服务器的请求消息,不过在POST的时候要加上<![CDATA[]>标志;平时我们在做WebService接口的功能测试时,也可以使用XMLSpy工具,按照上述方法生成SOAP请求,然后直接发送请求给服务器,查看返回结果即可。
下面给出函数示例:
lr_save_string("http://133.0.175.26:9300/services/CrmInterfaces?wsdl", "uacenter");
web_add_header("SOAPAction","\"\"");
web_reg_save_param("rspcode1",
"LB=RspCode>",
"RB=</RspCode",
"Ord=1",
"Search=body",
"RelFrameId=1",
LAST);
lr_start_transaction("resetPassword");
//web_set_timeout("CONNECT", "3");
web_custom_request("resetPassword",
"URL={uacenter}",
"Method=POST",
"Resource=0",
"RecContentType=text/xml",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
"EncType=text/xml",
"Body=<soapenv:Envelope xmlns:soapenv="
"\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ua="
"\"http://www.mbossuac.com.cn/ua\"><soapenv:Header/><soapenv:Body><ua:resetPassword>"
"<request><![CDATA[<?xml version=\"1.0\"?><CAPRoot><SessionHeader><ServiceCode>"
"CAP04009</ServiceCode><Version>CAP0400920091224</Version><ActionCode>"
"0</ActionCode><TransactionID>{TranId}</TransactionID><SrcSysID>"
"18103</SrcSysID><DstSysID>18</DstSysID><ReqTime>20100504125415</ReqTime>"
"<DigitalSign></DigitalSign></SessionHeader><SessionBody><ResetPassword>"
"<AccountType>2000004</AccountType>"
"<AccountID>{accountid1}</AccountID>"
"<NewPassword>654321</NewPassword>"
"<CertificateNo>{CertificateNo1}</CertificateNo>"
"<RegionId>1017</RegionId><Areacode>0719</Areacode>"
"</ResetPassword></SessionBody></CAPRoot>]"
"]></request></ua:resetPassword></soapenv:Body></soapenv:Envelope>"
"",
LAST);
lr_end_transaction("resetPassword", LR_AUTO);
// if(strcmp(lr_eval_string("{rspcode2}") ,"0000") && strcmp(lr_eval_string("{rspcode2}") ,"7004")) {
if(strcmp(lr_eval_string("{rspcode1}") ,"0000")) {
lr_error_message("resetPassword fail:%s,%s,%s", lr_eval_string("{rspcode1}" ),lr_eval_string("{accountid1}" ));
}
ps:在<![CDATA]>标记下,所有的标记、实体引用都被忽略,而被XML处理程序一视同仁地当做字符数据看待。
相关推荐
一步步教你用LoadRunner测试WebService
Loadrunner Webservice压力测试步骤示例,有截图
LoadRunner如何测试WebService
LoadRunne如何测试webservice
LoadRunner 下WebService 测试的若干问题
准备webservice测试接口,实验中用的是天气预报的接口地址:http://ws.webxml.com.cn/天气预报接口地址:http://ws.webx
LoadRunner下WebService测试的若干问题
为什么应进行自动化性能测试?如何创建脚本?业务场景分析?
Loadrunner接口压力测试,通过调用接口,并通过对接口返回值的简单判断,来检查接口调用是否成功。
LoadRunner测试实验报告
主要涉及WEBSERVICE下性能测试的一些存在的问题.
loadrunner作为一款性能测试工具,可以用于页面录制脚本进行性能测试,也可以用于接口的性能测试及功能测试。
LoadRunner性能测试实战LoadRunner性能测试实战LoadRunner性能测试实战LoadRunner性能测试实战LoadRunner性能测试实战LoadRunner性能测试实战LoadRunner性能测试实战LoadRunner性能测试实战
loadrunner性能测试,从基本入门,手把手教你loadrunner各种设置,手把手教你如何使用loadrunner进行接口测试和性能测试,以及报告的精准分析
LoadRunner压力测试实例LoadRunner压力测试实例LoadRunner压力测试实例
请参见文章 http://blog.csdn.net/shen1936/article/details/39521541
详细介绍了loadrunner接口测试的各步骤,从创建脚本到配置参数到参数化等每个步骤都有截图及说明文字,方便不太熟悉loadrunner接口测试的用户使用
LoadRunner测试要求及详细步骤.
LoadRunner生成测试结果并不代表着这次测试结果的结束,相反,这次测试结果的重头戏才刚刚开始。如何对测试结果进行分析,关系着这次测试的成功与否。网上关于LoadRunner测试结果如何分析的介绍相当匮乏,在总结他人...
使用Loadrunner测试数据库性能