Loadrunner11 --web service

lin9792發表於2013-07-22

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次 迭代,執行第二次




相關文章