如何用loadrunner 测试 webservice

上传人:wt****50 文档编号:35396692 上传时间:2018-03-15 格式:DOC 页数:8 大小:302.50KB
返回 下载 相关 举报
如何用loadrunner 测试 webservice_第1页
第1页 / 共8页
如何用loadrunner 测试 webservice_第2页
第2页 / 共8页
如何用loadrunner 测试 webservice_第3页
第3页 / 共8页
如何用loadrunner 测试 webservice_第4页
第4页 / 共8页
如何用loadrunner 测试 webservice_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《如何用loadrunner 测试 webservice》由会员分享,可在线阅读,更多相关《如何用loadrunner 测试 webservice(8页珍藏版)》请在金锄头文库上搜索。

1、现在基于 Web Service 的应用开始越来越多,因此使用 LoadRunner 测试 Web Service 的可能性越来越大。Web Service 可以在很多协议上跑,但是使用最多的还是使用 SOAP 协议,SOAP 协议在 LoadRunner 中是支持的,而 SOAP 是建立在 HTTP 协议之上的,所以也可以使用 HTTP 协议测试 Web Service 应用。由于坊间广为流行的,深受人民群众喜爱的 LoadRunner 破解 License 是两个类型的,一个是 100Vu 的全协议的,一个是 10000Vu 的HTTP 协议的,所以如果测试非 HTTP 协议的应用,就会受

2、到 100Vu 的限制。如果把非 HTTP 协议的测试转化成 HTTP 协议的测试,从而可以使用 10000 个并发,这是具有重要现实意义的一个事情。在测试 SOAP 协议应用的时候,如果并发 Vu 超过 100,就应该用 10000 个 Vu 的 License。 下面两个脚本是分别用 SOAP 协议和 HTTP协议。两者的区别就是两个函数:soap_request 和 web_custom_request 的区别。需要注意的是:这两个脚本由于比较简单,都不是录制下来的,而是直接编写的。函数中的 xml 文件的内容是通过应用服务器(我们使用的是 WebLogic)后台查询得到的。即先从浏览器

3、执行一个 SOAP 调用,然后在后台找到该调用发出的 xml 文件的内容,然后再拷贝到LoadRunner 的脚本中得到的。=SOAP 协议=Action()web_add_header(“SOAPAction“, “);web_add_header(“User-Agent“, “XML Spy“);web_add_header(“Content-Type“, “text/xml“);lr_start_transaction(“同步调用同步“);soap_request(“StepName=ServiceRequest“, “URL=http:/172.16.1.222:7001/servic

4、ebusWeb/cn/com/jsepc/soa/platform/bus/gateway/“GatewayWebServiceV10.jws“,“SOAPEnvelope=rntr“ntt“SOA_ServiceCodeTest.TimeService.Bus1“SOA_Operationservice“EPC1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890“rnrn“, “Snapshot=t1.inf“, “ResponseParam=r

5、esult“, LAST);lr_end_transaction(“同步调用同步“, LR_AUTO);*=HTTP 协议=#include “web_api.h“Action()web_add_header(“SOAPAction“, “);web_add_header(“User-Agent“, “XML Spy“);web_add_header(“Content-Type“, “text/xml“);lr_start_transaction(“webservice“);web_custom_request(“soap“,“URL=http:/172.16.1.222:7001/servi

6、cebusWeb/cn/com/jsepc/soa/platform/bus/gateway/GatewayWebServiceV10.jws“,“Method=POST“,“Resource=0“,“RecContentType=text/xml“,“Mode=HTML“,“EncType=text/xml; charset=utf-8“,“Body=rntr“ntt“SOA_RequestTimeCurrentTime“SOA_ServiceCodeTest.TimeService.Bus1“SOA_Operationservice“EPC1234567890123456789012345

7、6789012345678901234567890123456789012345678901234567890“rnrn“, LAST);lr_end_transaction(“webservice“, LR_AUTO);return 0;*如果网友从事这种类型的测试,你的脚本和我提供的脚本的惟一的不同就是脚本内部的 xml 文件的不同,你可以参考我提供自己从后台应用服务器,譬如 WebLogic、Websphere、JBoss 等常见服务器中获得。希望本帖对网友有一定帮助。 :-)如何用如何用 LoadRunner 测试测试 WebService让开发帮助搞,不如自己开发一个,省的麻烦人家,

8、还可以同时做些试验性的动作。首先,我们用 VS2010 做一个 Web Service。这个很简单,New ProjectWebASP.net Web Service Application.VS 这时候会有个默认的 service,其实就是一个函数 public string HelloWorld(),这个,我们注释掉,自己写一个,需要调用参数的。这边我们需要搞清楚,所谓的 WebService,本质上就是网络上可用的 API,可以直接在网络环境调用的方法。/我们这个方法调用的时候,输入用户名,然后返回时间。这只是个例子,实际上仅仅是个例子,一般的 Web Service,会比如是,返回目前

9、最新的天气预报啊之类的。WebMethodpublic string DateT(string name)return (“Hi, “ + name + “ 当前时间是“ + DateTime.Now);然后这个 WS 一般情况是放在服务器上运行的(尽管,目前是在本机运行),然后供远程的程序调用,而做 WS 测试,就是要用我们的 LR 来调用这个 WS,多次并发调用,以此来检查此 WS 的性能。然而 LR 如何找到这个 WS 呢?就需要有个 WSDL(Web Service Descript. Language),就是关于这个 WS 的一个描述,告诉你要调用这个 WS 需要输入什么参数,输出什

10、么参数等等,所以我们先要找到这个 WS 的 WSDL。我们在 VS2010 中,运行这个程序,运行之后,点击 Service Description。这个地址就是 WSDL 的 URL 地址,所以,我们要先把这个 WS 的 WSDL 地址拿过来(见下图)然后,在 LoadRunner 里面,我们首先需要选择 Web Service 协议,然后,点击管理 webService,导入:好,这时候 LR 已经可以管理这个 WS 了,然后我们只需要启动一个 WS Call,调用这个 WS 就可以了,调用的时候,可以参数化要输入的参数,同时也参数化输出的参数。请见图:我们这里把输入参数设为 Allen1

11、, Allen2, Allen3;输出参数设置为 AllenResult。然后,我们在执行的时候,执行 3 次,把 3 次不同的结果输出出来。添加完之后代码为:Action()web_service_call( “StepName=DateT_104“,“SOAPMethod=Service1|Service1Soap|DateT“,“ResponseParam=response“,“Service=Service1“,“ExpectedResponse=SoapResult“,“Snapshot=t1264661511.inf“,BEGIN_ARGUMENTS,“name=Name“,END

12、_ARGUMENTS,BEGIN_RESULT,“DateTResult=AllenResult“,END_RESULT,LAST);/输出每次执行 web serivce 得到的返回结果。lr_output_message(lr_eval_string(“AllenResult“);return 0;执行之后结果为: Virtual User Script. startedStarting action vuser_init.Ending action vuser_init.Running Vuser.Starting iteration 1.Starting action Action.A

13、ction.c(4): Web service call “DateT_104“ startedAction.c(4): Web service call “DateT_104“ was successfulAction.c(19): Hi, Allen1 当前时间是 1/28/2010 3:32:40 PMAction.c(21): lr_think_time: 2.00 seconds.Ending action Action.Ending iteration 1.Starting iteration 2.Starting action Action.Action.c(4): Web se

14、rvice call “DateT_104“ startedAction.c(4): Web service call “DateT_104“ was successfulAction.c(19): Hi, Allen2 当前时间是 1/28/2010 3:32:42 PMAction.c(21): lr_think_time: 2.00 seconds.Ending action Action.Ending iteration 2.Starting iteration 3.Starting action Action.Action.c(4): Web service call “DateT_

15、104“ startedAction.c(4): Web service call “DateT_104“ was successfulAction.c(19): Hi, Allen3 当前时间是 1/28/2010 3:32:45 PMAction.c(21): lr_think_time: 2.00 seconds.Ending action Action.Ending iteration 3.Ending Vuser.Starting action vuser_end.Ending action vuser_end.Vuser Terminated.这样基本的 web Service 的测试测试脚本就做好了,再之后在 Controler 中大家自己玩了

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号