LoadRunner测试webservice接口性能

用LoadRunner测试接口性能

方法一:通过wsdl地址调用接口

1、打开LoadRunner点击左上角选择新建脚本,在弹出窗口中选择web service协议,然后点击create按钮

2、点击 Manager services(注意:点击前右侧窗口脚本的光标必须在“return();”之前),在弹出窗口中点击Import,在弹出窗口内选择“url”并填入要测试接口对应的地址,在地址的后面加上“?wsdl”,然后点击Import

3、导入url成功后会有相应的信息出现,然后点击“ok”

4、点击“Add service call”,然后在弹出的窗口中Opertion对应的下拉列表中选择要测试的方法,在左侧选择Import Arguments,然后在右侧value中输入对应的请求(也可以随便输入,下面可以再脚本中修改)。

5、在窗口左侧选择out,然后在右侧勾选“Save returned...”,在parameter对应的内容可以修改,可以保持不变,其实就是一个变量,用来存储输出的值。

6、完成上述操作后自动生成如下脚本,标红的地方为刚才随意输入的请求内容,现在用合法的请求替换掉

7、在脚本中替换请求内容后调试下脚本看是否有错误,如果脚本正常,那就设计运行场景,进行后续的负载测试工作。

方法二:导入XML文件

先看下面开发人员给的对应接口的请求内容:

{

"sysId": "1",

"userName": "root",

"passWord": "root321",

"queryArray": [

{

"fltNum": "QW9977",

"fltDate": "2014-04-12",

"orig":"SZX"

}

]

}

如上所示,我们从开发人员那里获得的请求内容为js格式的,不是xml格式的,此时我们再用方法一来试试:

1、导入在脚本中粘贴上我们的请求发现有“:”、“}”等都没有变成蓝色,而是黑色显示,这说明这些内容是LoadRunner未识别的,我们运行一下发现日志中也有很多日志报出,这是什么原因呢?因为LoadRunner脚本时遵循的C语言的语法规则,而这些符号在C语言中是有定义的,我们要想使用必须添加转义字符使他们转义。一一修改又太麻烦,所以介绍使用LoadRunner测试接口的第二种方法:导入xml文件法。

2、在soapUI中添加js请求,调试脚本看是否通过

3、脚本调试通过后将脚本另存为xml文件

4、点击Import SOAP,点击“...”按钮选择刚才从soapUI中另存出来的xml文件

5、然后窗口中内容变多,在URL中粘贴要测试接口对应的链接,SOAP Action中和开发人员沟通看是否有对应的Action,没有就不用填写,Response paramenter对应的内容随便填写,

是为了给服务请响应的内容定义一个存储的变量。

6、通过以上操作点击ok后出现如下脚本,运行后通过,我们可以继续后续的性能测试工作。

我们仔细对比一下这两种情况下脚本的变化:

调用接口后直接粘贴请求的脚本:

Action()

{

web_service_call( "StepName=getTotalPassAndTotalAcPassAndTotalLuagg_102",

"SOAPMethod=FlightInfoAndVipPassInfoQueryWebService|FlightInfoAndVipPassInfoQueryWebServiceHttpPort|

getTotalPassAndTotalAcPassAndTotalLuagg",

"ResponseParam=response",

"Service=FlightInfoAndVipPassInfoQueryWebService",

"ExpectedResponse=SoapResult",

"Snapshot=t1405582936.inf",

BEGIN_ARGUMENTS,

"in0={

"sysId": "1",

"userName": "root",

"passWord": "root321",

"queryArray": [

{

"fltNum": "QW9977",

"fltDate": "2014-04-12",

"orig":"SZX"

}

]

}",

END_ARGUMENTS,

BEGIN_RESULT,

END_RESULT,

LAST);

return 0;

}

导入xml文件后生成的脚本:

Action()

{

soap_request("StepName=SOAP Request",

"URL=http://192.168.0.125:8090/qwsis/services/FlightInfoAndVipPassInfoQueryWebService?wsdl",

"SOAPEnvelope="

"<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:web=

\"http://webservice.sasis.com\">"

"<soapenv:Header></soapenv:Header>"

"<soapenv:Body>"

"<web:getPassengerMobiles>"

"<web:in0>"

"         {"

"    \"sysId\": \"1\","

"    \"userName\": \"root\","

"    \"passWord\": \"root321\","

"    \"queryArray\": ["

"            {"

"            \"fltNum\": \"QW9977\","

"            \"fltDate\": \"2014-04-12\","

"            \"orig\":\"SZX\""

"            }"

"       ]"

"}"

"         </web:in0>"

"</web:getPassengerMobiles>"

"</soapenv:Body>"

"</soapenv:Envelope>",

"SOAPAction=",

"ResponseParam=response",

"Snapshot=t1405565685.inf",

LAST);

return 0;

}

我们会发现第二种情况的脚本使用“”把请求中的“{”、“[”进行了处理,而“””则用“\”来进行了转义处理,处理后脚本中的内容都被识别,并变为了蓝色字体显示。

时间: 2024-10-31 23:42:57

LoadRunner测试webservice接口性能的相关文章

Loadrunner测试webservice接口

转:http://blog.csdn.net/liu870915/article/details/52066517 方法一:土办法是使用LR自带的webservice协议,按照向导的提示:导入wsdl.选择服务名.形成脚本的框架.读懂并设定参数值,参照log返回信息,调试脚本,很简单,这里就不多讲了........ 方法二:利用LR的web(http/html)协议自带的web_custom_request()函数,向指定的URL地址POST相应的SOAP协议的HTTP消息,LR functio

Loadrunner测试webservice协议总结

Loadrunner测试webservice协议总结 一.协议选择 1.打开Virtual user generator,新建脚本,选择webservice协议 2.当选择的协议不明确或者被测系统协议不明确时,使用loadrunner11自带的协议分析软件,文件->分析软件->分析应用程序,选择应用程序类型和路径确定即可,等待分析结果. 3.  协议选择完毕后,进入脚本创建界面 二.脚本创建 1.导入服务 管理服务->导入,输入被测服务的路径导入,确定 2.添加调用程序 1.添加服务调用

关于python测试webservice接口的视频分享

现在大公司非常流行用python做产品的测试框架,还有对于一些快速原型产品的开发也好,很好地支持OO编程,代码易读.Python的更新挺快的,尤其是第三方库. 对于测试人员,代码基础薄弱,用python语言容易上手.今天就python测试webservice接口视频分享给大家 视频地址: http://pan.baidu.com/s/1kT5s3iB

Python之测试webservice接口

前段时间学习了Python操作http接口,觉得挺容易的.最近项目组也有接触webservice接口,心里想想是否Python也可以操作这类接口.于是利用伟大的度娘,花了6个小时研究出来了,所以迫不及待更新一篇博文来分享.有兴趣讨论的同学可以加入我们的交流Q群:297669715. 一.准备环境 webservice接口测试,需要用到suds库,网上百度的各种suds库都没法安装,我这里的Python3.5版本,所以安装不了那些suds库也没有办法在线安装,所以这里就提供一个大家都可用的方法和s

使用PostMan测试WebService接口

使用PostMan测试WebService接口 参考资料: 通过XML请求WebServer  https://blog.csdn.net/qq_33933408/article/details/53149435  WebService发布与访问并通过Postman测试WebService接口 https://blog.csdn.net/up123456789/article/details/79474446   一.操作步骤 1.设置URL 2.设置请求模式:Post 3.设置Header:添

python实现建立soap通信(调用及测试webservice接口)

实现代码如下: #调用及测试webservice接口 import requests class SoapConnect: def get_soap(self,url,data): r = requests.post(url,data) print(r.text) if __name__ == '__main__': u = 'http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx/getMobileCodeInfo' d = {'mobile

Loadrunner测试http接口的性能

作者:余水军 性能测试首选工具是loadrunner.然而,loadrunner在做接口测试时又不像web哪样可以直接录制脚本,可能就不知道怎么做了.其实,loadrunner做http的接口性能也很简单.在接到http接口的性能测试时,我们首先要了解这个接口是get类型的还是post类型的.然后我们分别来看看这两个类型的接口的测试方法. 一.get类型的接口 get类型的接口,其请求参数是附加在url中的,直接用web_ur发送请求即可,如: web_url("getname", ?

loadrunner做webservice接口之简单调用

今天听大神讲了webservice做接口,我按照他大概讲的意思自己模拟实战了下,可能还有很多不对,一般使用webservice做接口,会使用到soapui,但是用了loadrunner以后发现lr很快捷和简单,如下: 准备webservice测试接口,我用的是天气预报的接口,地址:http://ws.webxml.com.cn/  天气预报接口地址:http://ws.webxml.com.cn/webservices/DomesticAirline.asmx?wsdl,地址可以打开就能看到他的

loadrunner录制webservice接口需要用户名密码时的解决方法

当loadrunner进行webservice测试,进入访问地址,限制要输入用户名密码才能登陆时,添加以下代码: web_set_user("acerpc/admin","[email protected]","172.18.14.172:80"); web_url( ………………………… LAST); **************** acerpc是机器名,admin是用户名,123456是密码,最后是ip和端口号.