LoadRunner測試webservice介面效能

來源:互聯網
上載者:User

標籤:

用LoadRunner測試介面效能

方法一:通過wsdl地址調用介面

1、開啟LoadRunner點擊左上方選擇建立指令碼,在快顯視窗中選擇web service協議,然後點擊create按鈕

2、點擊 Manager services(注意:點擊前右側視窗指令碼的游標必須在“return();”之前),在快顯視窗中點擊Import,在快顯視窗內選擇“url”並填入要測試介面對應的地址,在地址的後面加上“?wsdl”,然後點擊Import

 

3、匯入url成功後會有相應的資訊出現,然後點擊“ok”

 

4、點擊“Add service call”,然後在彈出的視窗中Opertion對應的下拉式清單中選擇要測試的方法,在左側選擇Import Arguments,然後在右側value中輸入對應的請求(也可以隨便輸入,下面可以再指令碼中修改)。

 

5、在視窗左側選擇out,然後在右側勾選“Save returned...”,在parameter對應的內容可以修改,可以保持不變,其實就是一個變數,用來儲存輸出的值。

 

6、完成上述操作後自動產生如下指令碼,標紅的地方為剛才隨意輸入的請求內容,現在用合法的請求替換掉

 

7、在指令碼中替換請求內容後調試下指令碼看是否有錯誤,如果指令碼正常,那就設計運行情境,進行後續的負載測試工作。

 

 

 

方法二:匯入XML檔案

 

先看下面開發人員給的對應介面的請求內容:

{

    "sysId": "1",

    "userName": "root",

    "passWord": "root321",

    "queryArray": [

            {

            "fltNum": "QW9977",

            "fltDate": "2014-04-12",

            "orig":"SZX"

            }

       ]

}

如上所示,我們從開發人員那裡獲得的請求內容為js格式的,不是xml格式的,此時我們再用方法一來試試:

1、匯入在指令碼中粘貼上我們的請求發現有“:”、“}”等都沒有變成藍色,而是黑色顯示,這說明這些內容是LoadRunner未識別的,我們運行一下發現日誌中也有很多日誌報出,這是什麼原因呢?因為LoadRunner指令碼時遵循的C語言的文法規則,而這些符號在C語言中是有定義的,我們要想使用必須添加逸出字元使他們轉義。一一修改又太麻煩,所以介紹使用LoadRunner測試介面的第二種方法:匯入xml檔案法。

 

2、在soapUI中添加js請求,調試指令碼看是否通過

 

3、指令碼調試通過後將指令碼另存新檔xml檔案

 

4、點擊Import SOAP,點擊“...”按鈕選擇剛才從soapUI中另存出來的xml檔案

 

5、然後視窗中內容變多,在URL中粘貼要測試介面對應的連結,SOAP Action中和開發人員溝通看是否有對應的Action,沒有就不用填寫,Response paramenter對應的內容隨便填寫,

是為了給服務請響應的內容定義一個儲存的變數。

 

6、通過以上操作點擊ok後出現如下指令碼,運行後通過,我們可以繼續後續的效能測試工作。

 

我們仔細對比一下這兩種情況下指令碼的變化:

調用介面後直接粘貼請求的指令碼:

Action()

{

 

web_service_call( "StepName=getTotalPassAndTotalAcPassAndTotalLuagg_102",

"SOAPMethod=FlightInfoAndVipPassInfoQueryWebService|FlightInfoAndVipPassInfoQueryWebServiceHttpPort|

getTotalPassAndTotalAcPassAndTotalLuagg",

"ResponseParam=response",

"Service=FlightInfoAndVipPassInfoQueryWebService",

"ExpectedResponse=SoapResult",

"Snapshot=t1405582936.inf",

BEGIN_ARGUMENTS,

"in0={

"sysId": "1",

"userName": "root",

"passWord": "root321",

"queryArray": [

            {

        "fltNum": "QW9977",

         "fltDate": "2014-04-12",

            "orig":"SZX"

            }

        ]

}",

END_ARGUMENTS,

BEGIN_RESULT,

END_RESULT,

LAST);

 

 

return 0;

}

 

匯入xml檔案後產生的指令碼:

Action()

{

 

soap_request("StepName=SOAP Request",

"URL=http://192.168.0.125:8090/qwsis/services/FlightInfoAndVipPassInfoQueryWebService?wsdl",

"SOAPEnvelope="

"<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:web=

\"http://webservice.sasis.com\">"

"<soapenv:Header></soapenv:Header>"

"<soapenv:Body>"

"<web:getPassengerMobiles>"

"<web:in0>"

"         {"

"    \"sysId\": \"1\","

"    \"userName\": \"root\","

"    \"passWord\": \"root321\","

"    \"queryArray\": ["

"            {"

"            \"fltNum\": \"QW9977\","

"            \"fltDate\": \"2014-04-12\","

"            \"orig\":\"SZX\""

"            }"

"       ]"

"}"

"         </web:in0>"

"</web:getPassengerMobiles>"

"</soapenv:Body>"

"</soapenv:Envelope>",

"SOAPAction=",

"ResponseParam=response",

"Snapshot=t1405565685.inf",     

LAST);

 

return 0;

}

 

我們會發現第二種情況的指令碼使用“”把請求中的“{”、“[”進行了處理,而“””則用“\”來進行了轉義處理,處理後指令碼中的內容都被識別,並變為了藍色字型顯示。

LoadRunner測試webservice介面效能

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.