使用Loadrunner测试webservice的三种途径
- 格式:docx
- 大小:14.85 KB
- 文档页数:2
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教程1. 了解LoadRunner1.1 Loadrunner简介LoadRunner 是一种预测系统行为和性能的工业标准级负载测试工具。
通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。
通过使用LoadRunner,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。
目前企业的网络应用环境都必须支持大量用户,网络体系架构中含各类应用环境且由不同供应商提供软件和硬件产品。
难以预知的用户负载和愈来愈复杂的应用环境使公司时时担心会发生用户响应速度过慢、系统崩溃等问题。
这些都不可避免地导致公司收益的损失。
Mercury Interactive 的LoadRunner 能让企业保护自己的收入来源,无需购置额外硬件而最大限度地利用现有的IT 资源,并确保终端用户在应用系统的各个环节中对其测试应用的质量,可靠性和可扩展性都有良好的评价。
LoadRunner 是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。
LoadRunner 的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。
此外,LoadRunner 能支持广范的协议和技术,为您的特殊环境提供特殊的解决方案。
1.2 为什么应进行自动性能测试?自动性能测试是一项规范,它利用有关产品、人员和过程的信息来减少应用程序、升级程序或修补程序部署中的风险。
自动性能测试的核心原理是通过将生产时的工作量应用于预部署系统来衡量系统性能和最终用户体验。
构造严密的性能测试可回答如下问题:➤应用程序是否能够很快地响应用户的要求?➤应用程序是否能处理预期的用户负载并具有盈余能力?➤应用程序是否能处理业务所需的事务数量?➤在预期和非预期的用户负载下,应用程序是否稳定?➤是否能确保用户在真正使用软件时获得积极的体验?通过回答以上问题,自动性能测试可以量化更改业务指标所产生的影响。
【测试方法】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设置检查点的几种方法介绍前段时间在群里跟大家讨论一个关于性能测试的问题,谈到如何评估测试结果,有一个朋友谈到规范问题,让我颇有感触,他说他们公司每次执行压力测试的时候,都要求脚本中必须有检查点存在,不然测试结果将不被认可,这是他们公司的规范。
其实,在做压力测试过程,我们很容易忽略很多东西,而且随着自身的技术演变,我们很容易去丢失掉一些很好的习惯,当我们再碰到这些问题的时候,我们才发现其实是我们太粗心大意了,所以说好的习惯要保持。
这次我刚好也要接手一些性能工作,因此就如何规范设置检查点来谈谈一些基本的流程和方法。
使用LoadRunner做压力测试,大致如下几个流程:1、明确测试目标2、录制测试脚本3、脚本优化、调试4、场景运行5、分析测试结果当然这里都是概况性的标题,但从这里我们可以明确的是测试脚本是整个压力测试过程中的重点步骤,如果测试脚本都不能确保正确与否,后面的测试过程就无从说起了。
很多时候我们把脚本调试就简单的认为是脚本回放没有错误就认为脚本是没有问题的,这当然不能这么肯定,脚本调试是一个非常严谨的过程,我大致归纳如下几步:1、明确每一行脚本的作用,也就是说每一行脚本执行的功能是什么;2、删减不需要的脚本语句,比如在录制过程由于LR默认设置导致录制之后出现很多冗余的脚本,这些个脚本对我们的测试过程没有用途的应该删除掉,至于哪些是冗余就要具体分析了,所以说脚本录制完之后要分析脚本运行的过程,方能理解脚本执行的用途,不然在后面施压时运行错误,就会开始到处找问题,而又找不出问题;3、查找存在的关联并进行相关设置4、设置检查点,设置检查点的目的就是为了验证页面每次运行之后是否正确,设置检查点的过程总要通过不能的回放来进行验证检查点设置是否正确。
5、通过测试目标明确脚本执行的目标事务,并添加事务;6、对需要进行并打操作的功能设置集合点7、根据实际情况设置ThinkTime8、在以上所有脚本调试步骤完成之后,设置迭代次数,通过在Vuser中设置多次迭代来验证脚本在多次循环运行时是否存在错误注意:在Vuser中运行和回放脚本的过程,要密切关注replay log,也就是回放日志,很多问题通常都暴露在回放日志中,只不过我们没有认真去检查,所以没发觉。
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。
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协议,想把这些东西总结一下,因为之前做性能很少,所以有什么说的不对的地方,还请大家给纠正。
用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格式的数据包替换。
在返回参数的地方,增加判断语句,如果返回的参数为成功,脚本继续,如果失败可以尝试再次发送等。
LoadRunner测试要求及详细步骤测试要求:1、测试系统支持100个并发同时登录2、登录功能响应时间不超过5秒3、CPU使用率不超过80%4、内存使用率不超过75%并发:很多人在一起做相同的事情在某一时间点的并发,在某时间点一个人代表了很多人的动作,是指在某时间段内一个人重复做某件事,重复100次。
不止做一件事,而与设置的时间有关。
并发与业务:集合点:当所有并发都完成某个动作时才做下一个动作,这样对服务器的压力才最大想测试50个人一起提交时对服务器的压力有多大不够50个人则等待,直到人数达到50个人才提交当所有的人都完成某个动作后再提交一般在提交动作之前设置一个集合点事务:LoadRunner中的事务(transaction)事务:事务是要度量其服务器响应时间的任务或操作集。
一个完整的事务是由事务开始、事务结束以及一个或多个业务操作/任务构成。
形式如图1-5所示:图1-5(一个事务示例代码段)插入一个事务有两种方式来实现,一种是手工方式,另外一种是利用菜单或者工具条进行事务的添加。
手工方式要求编写脚本人员必须十分清楚脚本的内容,在合适的位置插入事务的开始和事务的结束函数。
另外一种方式,应用菜单或者工具条进行添加相对来说操作方法简单一些,首先切换到脚本树视图,参见图1-6,而后通过菜单或者工具条添加事务开始和事务结束,参见图1-7。
图1-6(工具条相关按钮)图1-7(事务相关菜单选项和工具按钮)【作者提示】1.事务必须是成对出现,即:一个事务有事务开始必然要求也有事务结束。
2.事务结束函数共包括两个参数,第一个参数是事务的名称,第二个参数是事务的状态。
事务状态可以为LR_PASS:返回“Succeed”返回代码;LR_FAIL:返回“Fail”返回代码;LR_STOP:返回“Stop”返回代码;LR_AUTO:自动返回检测到的状态。
在应用事务的过程中,不要将思考时间(lr_think_time函数)放在事务开始和事务结束之间,否则在回放思考时间设置被允许的情况下,思考时间将被算入事务的执行时间,从而影响了对事务正确的执行时间的分析与统计。
Loadrunner针对CA性能测试使用方法本次CA功能测试,运用的是Web Services提供的接口对CA的功能进行测试。
Loadrunner 根据WSDL 描述,会生成一个SOAP 请求消息发送Web Services 请求处理。
请求处理器解析收到的 SOAP 请求,生成相应的 SOAP 应答。
Web 服务器得到 SOAP再把信息送回到Loadrunner。
创建脚本打开Loadrunner,选择Create/Edit Scripts,如下图进入界面选择如下图中红框内的New Scripts在弹出的对话框中选择Web Services,单击Create这样,一个新的空脚本就已经创建好了,如下图编写脚本编写登陆语句在脚本中输入:web_set_certificate_ex("CertFilePath=D:/123.pem","CertFormat=PEM","KeyFilePath=D:/123.pem","KeyFormat=PEM","Password=111111",LAST);web_set_certificate_ex是身份验证函数,指定证书和密钥文件的位置和格式信息。
后面这段语句是在连接CA时进行读取证书的动作可以将等号后面的内容改成自己对应的项目。
有了这段语句,就可以同CA正常连接了。
因为Loadrunner只支持pem格式证书,所以需要一张PEM格式的证书,已经上传到SVN\test\project\CA\CA3.0\CA3.0.1\CA3.0.1性能测试\CA3.0性能测试相关文件目录下添加CA功能如下图,单击Manage Services来添加WSDL文件。
这里的WSDL文件是从CA的SOA服务获取来的,在本地以WSDL格式保存。
WSDL文件已经上传到:SVN\project\CA\CA3.0\CA3.0.1\CA3.0.1性能测试\CA3.0性能测试相关文件\WSDL在打开的对话框中单击Improt,如下图在弹出的对话框中选中File,输入或者选择WSDL文件的存放路径,如下图单击又下角的Import,如下图,对话框中显示出WSDL的相关信息单击OK,回到编写脚本界面,单击Add Service Call如下图,在弹出的对话框中,红框内的Operation选项为CA提供的功能如下图,以本次测试内容为添加并签发证书,在Operation中选择applyDownCert,在左边的红框内选择签发证书时需要填写的内容选择pkcs10,在右边红框出选中Include argument in其他签发证书需要的输入项添加方法同上,选择完毕单击右下角的OK,回到脚本编写界面如下图在红框内输入签发证书需要的相应参数现在,一个证书签发的脚本就编写成功了。
LoadRunnner下的Webservices压力测试过程一、概念介绍A、webservices压力测试网上介绍:/html/75/n-159175.html/s/blog_51dc0fba0100amyj.html/html/79/n-98479.html在进行性能测试时,大部分对Web性能测试,选择“Web(HTTP/HTML)”协议即可,但录制完脚本后,回放脚本过程中有时会发生中断或停止的情况,查看错误时,如果无法找到SOAP文件字样时,就需要考虑更换脚本录制协议了。
通常首先考虑更换Web Services协议,再次录制脚本,问题就相应解决了。
在录制Web Services脚本前,首先对Web Services做一个简要的介绍,这样有助于读者或者测试人员能够更好地利用Web Services协议录制脚本。
1.什么是Web ServicesWeb Services是一种构建应用程序的普通模型,并能在所有支持Internet通信的操作系统上实施运行。
Web Services令基于组件的开发和Web的结合达到最佳,基于组件的对象模型,如:分布式组件对象模型(Distributed Component Object Model, DCOM)、远程方法调用(Remote Method Invocation, RMI)、互联网内部对象请求代理协议(Internet Inter-Orb Protocol, IIOP)都已经发布很长时间,但是它们都依赖于特殊对象模型协议。
而Web Services利用SOAP和XML对这些模型在通信方面作了进一步的扩展,以消除特殊对象模型的障碍。
进一步地,Web Services还基于HTTP和SOAP协议,使得Web用户通过Web调用的方法使用SOAP 和HTTP来调用远程对象,确保业务数据得以在Web上传输。
2.Web Services结构客户根据WSDL描述文档,会生成一个SOAP请求消息。
L o a d R u n n e r下W e b S e r v i c e测试的若干问题(总13页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--LoadRunner下WebService测试的若干问题前提条件:官方下载,的licenseWindows2000简体中文版一.测试的录制方法:(板栗在《webservices压力测试总结》已经讲过这一部分,已经了解的朋友可以不看1这一部分)1)选择协议2)下载WSDL用IE或者其他浏览器下载WSDL,这里以为例子,保存到本地为WSDL格式。
在下面的File中选择该WSDL文件。
3)选择WSDL下一步,在方法中选择GetUKLocationByTown,点击>>,加入到右边4)输入参数点击下一步,点击左边的Town,在右边输入London,然后下一步5)设置代理点击Run-Time Settings,选择代理服务器的获取方式,点击下一步,6)运行教本然后脚本自动开始运行,录制的位置是vuser_init方法中,并且运行的结果有错误。
错误是server returned an incorrectly formatted SOAP response,后面讲错误解决的方法和可能的原因。
注意:在中错误信息不一样,好像是什么xBase编码类似的错误。
7)录制总结:到这里,教本的录制已经结束了,和的WebService相比,流程有了一定的变化,而且功能好像变弱了(这个是从官方网上下载的,用的的license),在中有可以选择录制协议为SOAP方式还是WebService的,里却没有。
而且没有有录制到的位置,中忘记有没有了。
二.server returned an incorrectly formatted SOAP response问题的解决1)修改运行设置在运行设置中,选择LOG,然后勾上扩展日志,并且选中下面的三个选项2)运行教本,查看日志查看脚本就可以发现,其实结果已经正常返回,但是在SOAP响应的头部,有一个可疑的部分,<xml version="" encoding="zh_cn">,可疑是因为我用另外一个例子实验过,服务器端返回的encoding为UTF-8的方式,不是zh_cn 的方式。
Loadrunner11.0简单使用Loadrunner的使用主要分为三部分:Virtual User Generator,Controller和Analysis。
其中Virtual User Generator(虚拟用户生成器)主要用来创建脚本,并对脚本进行编辑优化;Controller(监控场景)主要用来设计和运行场景;Analysis(分析场景)用来对运行结果的数据进行分析。
1.Virtual User Generator的使用1.1新建录制脚本1.2新建协议1.3开始录制脚本,输入URL地址1.4开始录制1.5结束录制1.6Run-time Settings设置1.7脚本回放和查看回放结果对脚本进行保存后,开始对脚本进行编辑,包括常见的参数化,插入事务,插入集合点点,具体操作不做描述。
2.创建和运行场景打开Tools->Create Controller Scenario点击“OK”进入监控场景2.1添加负载生成器负载生成器主要用来产生虚拟用户,既可以用本机产生,也可以借助别人的电脑产生,从而减少本机的压力(前提是对方的电脑已安装Loadrunner并开启Loadrunner Agent Process 服务)。
点击“Add”,在Name中如如负载生成器的IP,点击“OK”Loadrunner Agent Process。
2.2设置监控场景双击Global Schedule下的Initialize行,开始对运行场景进行设置初始化Vuser的三种方式:点击“Next”,进入启动Vuser设置,有两种方式:设置好后,点击“Apply”,之后点击“Next”,进入持续Vuser设置,有两种方式:注:当选择第一种方式时,运行场景的设置到此结束;选择第二种时,需要进入下一步继续设置场景。
点击“Next”,进入停止Vuser设置:设置完后点击“Apply”,场景设置完成。
2.3设置集合点(Rendezvous)点击Scenario->Rendezvous,打开Rendezvous的设置窗口2.4监控系统资源点击“Run”,切换到运行场景窗口,系统资源默认为Windows Resource在Windows Resource下右键,点击Add Measurements打开windows resource的添加窗口点击“OK”,监控的服务器添加完成。
loadrunner简单使⽤——HTTP,WebService,Socket压⼒测试脚本编写使⽤loadrunner进⾏压⼒测试主要分两步,第⼀步是编写脚本(⽐较重点),第⼆步执⾏测试(配置都是在界⾯上点点就⾏了,当然我只的是⽐较简单的,能满⾜⽇常需要的),第三步分析结果(这⼀步⽐较⾼深,但是对于我来说能看懂简单的性能指标就OK了)。
所以这⾥就说⼀下脚本的编写,给未来再⽤到做参考。
Action(){int status;lr_start_transaction("send");web_reg_find("Search=Body",//这⾥说明在Body的范围内查找"SaveCount=ret_Count",//这⾥表⽰把返回值的个数放在变量ret_Count⾥"Text=mobile",//这⾥表⽰查找的内容是“mobile”LAST);status=web_url("Baidu_Search","URL= /s?wd=mobile","TargetFrame=Main","Resource=0","RecContentType=text/html","Mode=http",LAST );lr_output_message("Request Status:%d",status);lr_output_message("查找到的返回值个数:%d",atoi(lr_eval_string("{ret_Count}")));if (atoi(lr_eval_string("{ret_Count}")) > 0){//这⾥判断检查到的个数lr_output_message("Rec successful.");lr_end_transaction("send", LR_PASS);}else{lr_error_message("Rec failed");lr_end_transaction("send", LR_FAIL);}return0;}2.HTTP POST请求这个是在我们项⽬中⽤到的,发送POST请求,进⾏⾃然语⾔识别的,脚本如下:Action(){int status;lr_start_transaction("send");web_reg_find("Search=Body",//这⾥说明在Body的范围内查找"SaveCount=ret_Count",//这⾥表⽰把返回值的个数放在变量ret_Count⾥"Text=t",//这⾥表⽰查找的内容是“t”LAST);status=web_submit_data("trs","Action=http://192.168.77.185:9002/recognizeText",//地址"Method=POST",//POST请求"RecContentType=text/html","Mode=HTML",ITEMDATA,"Name=usercontent","Value=gprs",ENDITEM,//这⼀⾏表⽰传⼊⼀个参数usercontent,值为gprs"Name=Accept","Value=text/plain",ENDITEM,LAST);lr_output_message("Request Status:%d",status);if (atoi(lr_eval_string("{ret_Count}")) > 0){//这⾥判断检查到的个数lr_output_message("Rec successful.");lr_end_transaction("send", LR_PASS);}else{lr_error_message("Rec failed");lr_end_transaction("send", LR_FAIL);}return0;}3.WebService请求webservice请求的脚本建议通过可视化的⽅式添加1)引⼊webservice,注意wsdl后缀2)给⼊参填值3)给返回值指定存储到的变量中Action(){int status;lr_start_transaction("send");status=web_service_call( "StepName=getSupportCity_102","SOAPMethod=WeatherWebService|WeatherWebServiceSoap|getSupportCity",//这⾥是我已经引⽤了webservice的名称及调⽤⽅法"ResponseParam=response","Service=WeatherWebService","ExpectedResponse=SoapResult","Snapshot=t1353067092.inf",BEGIN_ARGUMENTS,"byProvinceName=安徽",//这⾥是⼊参,参数名称:byProvinceName,值:安徽。
loadrunner,服务水平协议竭诚为您提供优质文档/双击可除loadrunner,服务水平协议篇一:用loadRunner测试webservices协议uRl:译者:huiguiziran111原作者:waldemar前不久,如何用loadrunner做webservices测试http/html脚本。
现在我想要描述的正确方法-用webservices测试脚本。
首先需要一个webservices网址,并且是可以使用的网址。
这是一个wsdl的地址:我希望parasoft不要介意我使用的soat测试。
另外,我们要有一份wsdl文件。
现在让我们创造的脚本。
点击新建/从脚本协议中选择webservices脚本类型现在,当我们新建一个脚本,都会产生一个新的标准的工具栏。
他允许添加webservice中描述的脚本文件,可以显示xml请求数据和返回的数据。
所以点击管理服务,接着导入,在uRl中输入/store-01.wsdl,点击导入接着wsdl文件已经导入,直接点击应用和确定。
在这里loadrunner把webservice引用的参数全部列举。
我们准备创建2个实际请求数。
在工具栏中,实现2个操作,一个是“增加呼叫服务”,另外一个是导出soap点击addservicecall。
在operation的下拉列表中选择getitembyid,在左边的输入参数列表中选择id然后在右边的类型的编辑框中输入1我们的脚本如下所示:1.action()2.{3.web_service_call("stepname=getitembyid_101",4."soapmethod=cart|icart|getitembyid",5."Responseparam=response",6."service=cart",7."expectedResponse=soapResult",8."snapshot=t1248415874.inf",9.begin_aRguments,10."id=1",11.end_aRguments,12.begin_Result,13.end_Result,st);15.return0;16.}现在我们增加一个webservice请求导入soap中。
LoadRunner操作手册1、LoadRunner操作,我们主要使用三大部分:Virtual User Generator、Controller、Analysis○1Virtual User Generator:录制脚本○2Controller:设置运行场景○3Analysis:分析2、首先我们打开Virtual User Generator,如图所示:打开后的界面:然后点击菜单file->new 新建一个脚本,打开后界面如下:由于我们B/S大部分使用的协议为WEB(HTTP/HTML)(如果不是可以选择其他协议),所以我们选择协议为WEB(HTTP/HTML)然后单击Create,接下来打开下图界面:在URL中输入你需要测试系统地址,Record into Action中有三个Action:Vuser_init:用来初始化的,比如登陆该界面Action:用来记录你所测试业务的,比如输入用户名和密码登陆Vuser_end:比如退出(注销)Application type 默认即可Program to record 是浏览器的位置一般默认即可Record the application startup 这项要打勾设置后单击OK按钮,开始录制,录制结束后保存。
关于在脚本中添加事务和集合点的设置。
1.事务添加方法,如下图:开始事务时间要在脚本内容前面,点击开始事务按钮,如下图打红勾:打开后设置事务名字(就是要测试的内容名字,比如:首页登录),如下图:然后点击ok,如下图:然后设置事务结束时间,点击打红勾按钮,如下图:打开后如下图:这个直接点ok就行,注意事务结束时间在脚本内容后面,如下图:2.集合点设置集合点要设在事务开始时间前面。
打开集合点设置按钮,如下图所示:名字按自己意思输入即可,然后点击ok。
添加好了如下图:此图就是集合点和事务的设置好了的图,位置要按这样设置。
3、然后打开Controller,如图所示:这样是在录好了脚本后直接在菜单tools打开当前脚本的controller,来设计场景。
使用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协议访问。
由于webservice访问的并发量有限制,所以有时候可能需要变通的用HTTP协议来测试Webservice。
但是需要手工改一下脚本。
先用SOAP的方式把脚本录一下。
然后将soap_request 添到web_custom_request这个函数里:
Action()
{
web_add_header("SOAPAction",
"\"\"");
web_add_header("User-Agent",
"XML Spy");
web_add_header("Content-Type", "text/xml");
web_custom_request("soap",
"URL=http://192.168.1.123/hello2",
"Method=POST",
"Resource=0",
"RecContentType=text/xml",
"Mode=HTML",
"EncType=text/xml; charset=utf-8",
"Body=<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no"
"\"?>"
"<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>",
LAST);
return 0;
}。