一步步教你用LoadRunner测试WebService
- 格式:pdf
- 大小:2.04 MB
- 文档页数:21
Loadrunner测试webservice协议总结Loadrunner测试webservice协议总结⼀、协议选择1、打开Virtual user generator,新建脚本,选择webservice协议2、当选择的协议不明确或者被测系统协议不明确时,使⽤loadrunner11⾃带的协议分析软件,⽂件->分析软件->分析应⽤程序,选择应⽤程序类型和路径确定即可,等待分析结果。
3、协议选择完毕后,进⼊脚本创建界⾯⼆、脚本创建1、导⼊服务管理服务->导⼊,输⼊被测服务的路径导⼊,确定2、添加调⽤程序1、添加服务调⽤->选择操作的⽅法名->填写输⼊参数和输出参数,确定后,会⾃动⽣成测试脚本Request:请求参数,输⼊对应的必填项Indentify:登录信息,ID和password对应⽤户名和密码Response:返回参数,将需要的参数保存在参数中,以备后续函数调⽤2、⽣成脚本界⾯3、需要对参数重新设置,选择“树”型显⽰⽅式,可以对脚本进⾏重新编辑4、对相应参数进⾏参数化,可以⽤记事本编辑5、运⾏时设置,快捷键F4运⾏逻辑:设置脚本迭代次数,即脚本循环次数思考时间:可以设置脚本运⾏过程中是否考虑思考等待时间其他:错误处理,⼀般选择出现错误时仍然继续3、返回结果判断1、单个返回结果判断例如,当我们调⽤Webservice接⼝输⼊如下参数时"<mobileno>133********</mobileno> <smscontent>飞信</smscontent>",接⼝正确返回结果包括"飞信是中国移动的业务"。
在此我们就需要对返回结果进⾏判断。
⽰例代码如下:lr_eval_string函数说明C的变量都不能被LR的函数直接调⽤。
所以:LR函数调⽤C变量,得先经过lr_eval_string的解析,相当于桥梁的作⽤。
使用Loadrunner测试webservice的三种途径近日研究了一下用Loadrunner测试webservice的三种方法:1. 方法一,调用webservice:一般采取Import wsdl的方式,在Manage Services中将wsdl文件或者访问地址导入,然后Add Service Call。
在添加过程中可以设定参数。
缺陷是如果连接的服务器有用户名和密码限制,可能连不上出错。
Action(){web_service_call( "StepName=sayHi2_101","SOAPMethod=HelloWorld2.HelloWorld2Port.sayHi2","ResponseParam=response","Service=HelloWorld2","Snapshot=t1297747716.inf",BEGIN_ARGUMENTS,"arg0=",END_ARGUMENTS,BEGIN_RESULT,END_RESULT,LAST);return 0;}2. 方法二,导入SOAP:采用Import Soap的方式,将xml文件导入。
URL写上不带wsdl的访问地址,此种方法可以写入用于连接服务器的用户名和密码。
Action(){soap_request("StepName=SOAP Request","URL=http://192.168.1.123/hello2","SOAPEnvelope=""<soap:Envelope xmlns:soap=\"/soap/envelope/\">""<soap:Header>""<soap:username>tttt</soap:username>""<soap:password>123456</soap:password>""</soap:Header>""<soap:Body>""<ns1:sayHi2 xmlns:ns1=\"http://server.hw.demo/\">""<arg0 xmlns=\"http://server.hw.demo/\">1</arg0>""</ns1:sayHi2>""</soap:Body>""</soap:Envelope>","SOAPAction=","ResponseParam=response","Snapshot=t1297753819.inf",LAST);return 0;}3. 方式三,利用HTTP协议访问。
【测试方法】LoadRunner基于WSDL的WebService测试方法在《测试工程师的自我修养--理解WebService》一文中[1],对WebService的概念及其相关名词进行了阐述,并引入了一个测试案例:天气预报WebService服务[2]。
作为测试人员的你,假设现在接到一个测试任务,需要对WeatherWebService中的getWeatherbyCityName接口进行性能测试。
而开发人员只给你提供了WeatherWebService的WSDL的URL链接(/WebServices/WeatherWebService.asmx?WSDL ),然后啥也没说就消失不见了。
那么,采用测试工具LoadRunner该怎样对指定接口进行测试呢?本文将围绕如上测试需求,对LoadRunner基于WSDL的WebService测试方法进行详细介绍。
需要说明的是,本文只针对测试脚本的开发展开描述,对测试场景的设计暂不进行讨论。
本文中采用的LoadRunner版本为V11.0,不同版本可能会存在一定差异。
1、选择Web Services协议采用Loadrunner测试WebService时,在单协议里面选择Web Services即可。
当然,这并不意味着Loadrunner测试WebService 只能采用Web Services协议,在后续的文章中将向大家介绍如何通过HTTP协议来测试WebService。
2、导入WebService的描述信息WSDLWSDL 是基于XML 的用于描述WebService 以及如何访问WebService 的语言,它对具体的WebService 进行了描述,规定了服务的位置,以及此服务所提供的操作(或方法,或服务调用接口API)。
如果你熟悉WSDL的文档结构,可以直接阅读WSDL获取相关信息。
然而,当你尝试直接去阅读WSDL文档时,你会发现这是一件十分痛苦的事情,毕竟WSDL的设计出发点是供程序阅读的,其文档结构对人员的阅读体验不是很好。
LoadRunner测试步骤详细步骤录制测试脚本1).点击主界面2).点选新建协议3).在协议框中选择全部,选择新的协议Web测试一般选择(Web (HTTP/HTML))如果别的项目可根据与程序员交流程序间通讯的协议,在这里做选择就可以了4).填写你要测试的URL地址点击oK 后进行脚本录入1. 脚本的回放1).在这里可以对脚本进行参数化、集合点、事务等都可以在这里对脚本进行设置当脚本中回放时没有错误,就可一保存脚本,进行后面的压力测试了负载加压测试1).选择负载测试2.选择相对应的测试脚本手动场景可以设置不同的业务组用户数量,同时编辑计划指定相关的运行时刻,虚拟用户加载策略等完成场景的设计工作3).在这里进行场景设置4).虚拟用户数量及加载方式设置5)开始加载测试6)添加相应的监控指标7)添加Windows Resources 的监控1.双击 1图中的windowsResources2.在2图的空白处右击选择菜单中的Add..3.在3图中点击Add 后出现图44.在4图中输入要检测的见算计的IP 后点击 OK5.在图5中点击Add 选择你要检测的数据项后点击 Add 然后点击Close6.后点击图5的OK 就出现我们想要的监视图68)添加SQL Server 资源的监控在这里与添加WindowsResources步骤基本相同,只要注意几点1. 保证打开服务的远程服务(Remote Registry Service)打开,本地计算机加入了服务器域2. 要经过防火墙来监控Windows NT或 Windows 2000,应使用TCP,端口 139。
LoadRunner性能测试详细操作演示过程loadrunner性能测试演示过程目录1.loadrunner11基础............................................................................ (2)1.1术语............................................................................ ........................................................31.2组件与测试流程............................................................................ ....................................32.测试计划............................................................................ .. (4)2.1测试环境............................................................................ .................................................42.2应用程序建议............................................................................ ........................................42.3测试人员和时间............................................................................ ....................................53采用loadrunner展开功率/压力测试............................................................................ (5)3.1录制基本的用户脚本............................................................................ ............................53.2完善测试脚本............................................................................ (7)3.2.1填入事务............................................................................ ...................................73.2.2填入集合点............................................................................ ...............................83.2.3填入注解............................................................................ .................................103.2.4参数化输出............................................................................ .............................103.3单机运转测试脚本............................................................................ .............................154实行测试............................................................................ . (15)4.1选择脚本,创建虚拟用户............................................................................ .................154.2添加windows资源监视窗口............................................................................ .............194.3添加windows性能计数器............................................................................ .................194.4执行脚本............................................................................ (21)4.4.1分解成结果............................................................................ (21)5分析以及监视场景............................................................................ .. (22)5.1memory有关............................................................................ ........................................225.2processor有关............................................................................ ..................................255.3网络吞吐量以及频宽............................................................................ .........................285.4磁盘有关............................................................................ .............................................295.5web应用程序............................................................................ ......................................305.6sqlserver.......................... .............................................................................. .............315.7networkdelay................................................ ...............................................................316分析实时监控图表.....................................................................................................................327分析原则............................................................................ (32)7.1、错误提示分析............................................................................ ...................................337.2、监控指标数据分析............................................................................ ...........................338.测试结果............................................................................ . (35)1.loadrunner11基础loadrunner是一种预测系统行为和性能的工业标准级负载测试工具。
LoadRunner8.0的 Virtual User Generator录制Web Services协议存在一个bug,当服务器的操作系统是中文时,LoadRunner会自动将WSDL文件的头改为<?xml version="1.0" encoding="zh_cn"?>,当回放脚本时会报以下错误:Error: server returned an incorrectly formatted SOAP response因此在录制Web Services协议前,需要打两个补丁:LR80WebServicesFP1_setup.exelrunner_web_services_patch_1.exe录制:首先当然是选择Web Services协议了点击OK这里有两个选择,录制客户端程序或扫描WSDL文件,如果选择客户端程序,录制的是客户端实际的操作;如果选择扫描WSDL文件,则可自定义调用Web Service方法的顺序。
这里选择Scan WSDL File,点击Next输入WSDL的URL,比如Next,这时LoadRunner会将检测到的Web Service列出来,包括服务名和此服务提供的方法,选择需要录制的方法,并点击“>>”按钮,点击Next此处可对输入参数及输出结果进行设置,设置后点击Next可在此处设置Run-Time Setting,如果勾选“Run script after generation”,则生成脚本后自动回放,点击Finish,脚本录制完成。
LoadRunner8.0的在录制Web Services协议脚本时,出现以下问题,根据官方资料,需要下载2个补丁解决此问题:Error: server returned an incorrectly formatted SOAP response下载补丁:1 lrunner_web_services_patch_1.exe2 LR80WebServicesFP1_setup.exe注意事项:请严格按上面的顺序安装安装完成后,LoadRunner安装程序中将出现如下图所示,表明安装成功:准备WSDL文件:在IE里输入地址:http://XXX/webservices/XXX.asmx?wsdl打开WSDL文件后,点击“另存”按钮,保存文件为 .wsdl 格式LoadRunner,录制脚本,选择Webservice协议如下图所示:选择Scan WSDL File如图选择Specify WSDL for Scanning中的从File指定,如本文作者调用XXX.wsdl文件如图接下来下一步哦,View the Validation report接下来选择对应的方法接下来Provide values for the Web Service methods点击下一步后,成功了,当然你也可以在这设置Run-Time Setting经过以上操作,脚本开发完毕最近刚做的一个性能测试,使用webservice协议,想把这些东西总结一下,因为之前做性能很少,所以有什么说的不对的地方,还请大家给纠正。
一、录制脚本1. 翻开2. 点击编辑脚本3. 点击按钮新建脚本4. 弹出对话框,选着web〔/html〕5. 输入网址,点击ok6. 录制脚本,录制结束后,点击一下按钮停止录制7. 录制成功后,生成脚本8. 点击如下按钮回放脚本9. 点此按钮,可新增action10. 点此按钮可以进行录制和回放设置11. 弹出的参数话界面一般回放设置下这里就好12. 点击图中图表设置参数化13. 弹出的设置界面,主要设置红色区域的几个地方14. 下列图按钮为脚本调试15. 下列图按钮为设置时间的其实点和结束点的按钮16. 下列图两个按钮分别为与hp质量管理工具ALM连接按钮和创立场景按钮17.插入事件,分别表示时间的开始和结束事件插入成功:18. 设置集合点二、创立场景1.在vugen中点击图中按钮创立场景2.弹出编辑框,设置场景,设置完成后点击ok第一个是目标场景第二个是手动场景其中手动场景可以设置加载虚拟用户数3.双击这里选着加压主机4.选择主机ip,和系统5.点击ok关闭对话框图中红色区域是选着场景执行方式:模拟真是环境还是基于时间表模拟6.下列图中:1)Schedule by选项表示加载方式,基于脚本还是基于组2)Run mode表示加载模式:分别表示模拟真实情况和还是基于场景7.双击下列图红色区域,可选着加压力度8.双击红色区域,可设置压力下完运行时间9.双击下面红色的内容,可以选着虚拟用户停止的模式10.弹出设置选项框,可以选着停止的方式全部一下停止每多少时间停止多少个的方式停止11.点击run,来到执行界面12.在执行界面点击start Scenario,开始跑场景13.下列图为执行过程中14.场景跑完后显示如图界面:其中右边红色区域是运行过程中监控效劳器的资源占用率等等的一些信息,在左边还可以添加或查看其他的一些图标15.点击下面按钮也能添加加压主机16.经15后,弹出选项框,点击add可以输入主机信息17.设置ip欺骗三、结果分析1.点击下面按钮,进入分析结果界面2.分析界面如下:3.点击这里的图表可以查看各结果的,然后对结果进行分析4.按照如下操作可以增加新的图表5.右键图表选着合并图表,可以合并分析6.合并后的图表具体实例教你如何做LoadRunner结果分析LoadRunner 最重要也是最难理解的地方--测试结果的分析.其余的录制和加压测试等设置对于我们来讲通过几次操作就可以轻松掌握了.针对Results Analysis 我用图片加文字做了一个例子,希望通过例子能给大家更多的帮助.这个例子主要讲述的是多个用户同时接管任务,测试系统的响应能力,确定系统瓶颈所在.客户要求响应时间是1 个人接管的时间在5S 内.2.系统资源:2.1 硬件环境:硬盘:100G网络环境:100Mbps2.2 软件环境:操作系统:英文windowsXP效劳器:tomcat 效劳系统结构:B/S 结构下面要讲述的例子添加了我们平常测试中最常用到的一些资源参数.另外有些特殊的资源暂时在这里不做讲解了.我会在以后相继补充进来。
用Loadrunner模拟向Web Service发送XML格式的信息包作者:卡卡卡由于测试的对象需要和其他信息系统交互,所以采用了比较常用的web services的方式交换数据。
1)测试目标:通过loadrunner录制/编写脚本,模拟向服务器的web service相应的端口发送数据包,达到测试跨平台的数据交换。
2)使用LoadRunner较新的版本12.0.2。
首先,笔者尝试了用Loadrunner录制web service脚本向服务器发送数据包---失败,没有录到,脚本位空。
后来改用通过向导,自己写LR脚本。
Step1:选择脚本协议Single Protocol---Web Services.Step2:添加WSDL点击工具栏上的“add web service call”按钮,然后在弹出的对话框中输入或者通过浏览器浏览响应的IP地址加端口,导入指定的wsdl。
成功后,在operation下来框里看到web service的各个可以调用的方法。
Step3: add a web service call点击脚本中的Action方法,在return 0 语句之前,添加web service服务下面可用的方法。
在New Web Service Call 窗口中,点击“Operation”下拉框,选中看一个服务提供的调用方法。
Step4:添加inputXML的值在开打的New Web Service Call窗口中,选择输入参数inputXML,点选Value,在输入框里随便输入点字符(接下来脚本中,会参数化)。
Step6:同上一步,输入return的值选择输出参数中的SubmitNLSMSRequesetResult后,勾选Save returned value in param。
参数名用默认的即可。
Step7:编译和调试脚本在输入参数XXX的地方,用正确的XML格式的数据包替换。
在返回参数的地方,增加判断语句,如果返回的参数为成功,脚本继续,如果失败可以尝试再次发送等。
webservices压力测试总结一、项目简介1、测试环境:WebServices + SSL(ssl证书链),采用SOAP协议数据库服务器通过IE的80端口下载一个反射器到客户端,产生客户端进程。
客户端通过用户交互,从服务器IIS反射所需的业务组件。
业务组件通过WebService和服务端通讯,通过在客户端构建纳税户对象,将业务所需的敏感数据加密后,经由WebService传递到服务器端。
服务器将数据解密后在服务端进行业务处理。
分捡出需要银行处理的业务通过Socket发送到地税前置机。
地税前置机将业务数据编码成符合银行要求的8583包格式,发送到银行前置机进行处理。
并等待银行返回业务处理结果。
地税前置在收到银行返回的处理结果后将完成自身业务处理后返回WebService处理结果。
WebService将最终的处理结果返回给用户。
用户通过客户端表示层得到此次业务的处理结果。
2、开发工具:c# .net3、数据库:sybase4、压力测试工具:LoadRunner8.0(LR7.8的license)二、录制脚本5、下载WSDL文件在IE里输入地址:http://192.168.0.127/webservices/taxwebservice.asmx?wsdl打开WSDL文件后,点击“另存”按钮,保存文件为.wsdl 格式6、选择Web Services 协议7、Scan WSDL File8、Specify WSDL for scanning9、选择方法10、Specify argument values11、Start Record点击“Start Record”按钮12、Specify application to record13、调用程序开始录制三、SSL配置14、Recording Options(Ctrl+F7)15、Port Mapping16、点击“New Entry”补充:定义端口映射VuGen 使用“端口映射”设置,通过特定的服务器: 端口组合将流量定向到需要的通信协议。