Loadrunner11 --web service

来源:互联网 发布:mac 通用扫描仪驱动 编辑:程序博客网 时间:2024/04/30 02:14

WSDL 地址:http://192.168.27.183:8080/PQWebService/ws/PqDifService?wsdl 

(*此地址为公司项目中的WSDL地址,不能在外网使用)

如想尝试,可用此链接:http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?WSDL

1.新建一个 WebService 协议


2.会在LoadRunner11 看到这三个按钮 Manage Services 、Add Service Call 、Import SOAP ,点 Manage Serivces


3.在弹出的Manage Service 里选中 Import ,然后会 弹出 Import Service ,在此对话框中选 “URL” ,输入 WSDL 地址 ,再点击 Import


4.此时会弹出对话框 “WSDL Access Authentication” 要求输入用户,但有些链接不会要求输入,那就要看开发怎么设计了


5. 新增一个 Service Call,点击 “ Add Service Call” ,会弹出一个 “New Web Service Call”,然后在 Operation :getDeviceList ,点”OK“


6. 然后Action 会自动生成 web_service_call 函数


7. 打开Run-times Settings ,修改 Log 选项,在Log options 选中Always send messages ,再选中 Extended log 下的 Parameter substitution

   保存设置,运行脚本。



8.在Replay Log 中可以看到以下信息,以下图为没有 设置上一步运行时的 Log ,为了方便看红色的Error ,才拿出来的


9.解决以上问题,需要代码上面添加一个 web_set_user() 函数,具体使用请在LoadRunner11 中按F1 查看

输入函数后,重新运行脚本,此时脚本就没有报错了



10.打开Tree视图,选中Snapshot ,再选 Response 

展开 Soap:Body,再展开 ns2:getDeviceListResponse

选中return1 ,右击 save XML in Parameter


11. 弹出对话框后,再确定

在Action中会生成代码


然后修改代码如下:


运行脚本,查看Regplay Log ,会显示所有当前在线的用户


12. 在得到以两人个设备后,再次创建Service Call 这次的选择为 Operation:getDevice

然后 在 展开Input Arguments ,  选中下面的 deviceID ,在旁边选中 Value 的同时 ,勾选上Include argument in 

在 Value 中输入中的值为,在第11步,最后的Replay Log中可查看得到,或者查看WSDL


13.自动代码生成如下



运行并查看Log


从上面Log中可以看到 Return 的值为0,代表成功,如为其他有可能为错误

(*此处指的是当前的WSDL,别的代码有可能不一样)

13.在第11 步中的最后Log中,可看得到有两个设备(28、57),此时可制作成参数化

(1)。光标移动到代码中的 “deciceID=TEMPLATE28”, 选中并右击的“ TEMPLATE28”,选择Replace with a Parameter


弹出的对话框 设置 其中的 Parameter name: device,点击 OK


在菜单栏中 点 Param List 


在弹出的对话框中 首先点击 “Add Row..”,在新增的行中输入 “TEMPLATE57”,点close


运行 代码,会看到 Log中只运行第一行,没有运行第二行,】

此时在Run-time Setting 中设置 Action 的迭代 为2 ,运行两次


再次运行 代码,再查看Log ,能看到执行两次 


以上Log中为 结束第1次 迭代,运行第二次




原创粉丝点击