介面測試之基於LoadRunner的一個簡單示例

zzz紫川發表於2016-11-25

這幾天一直在搗鼓介面測試,以下總結一下:

1、什麼是介面測試:介面是指系統模組與模組之間或者系統與系統之間進行互動,一般我們用的多的是HTTP協議的介面、WebService協議的介面、還有RPC(Remote Procedure Call Protocol)的介面。不管是哪種介面,其本質就是傳送一個Request,然後伺服器響應後返回一個response,然後我們對response進行分析,這就是介面測試。

2、訊息介面測試的兩種:

  a) Webservice:使用soap協議得到想要的東西(不分POST與Get,只是基於soap協議包裝出來的),能處理較複雜的資料型別(XML)。若需要在後臺呼叫一個其他應用的服務,用webserivice的方式;

  b) HTTP:基於http協議,通過POST和GET得到想要的東西,處理資料效率較高。當要呼叫一個本服務的內容時,使用httpservice的方式。

3、常用的介面測試工具有:

  a) 商業工具:Soapui、LoadRunner

  b) 開源工具:Jmeter、Jsoup、httpclient、Python中的urllib,urllib2庫

    c) 外掛:Poster、Postman

以上是一些介面測試最基礎的理論認知,下面就是具體步驟,為了自己以後能看懂,寫的儘可能的詳細了(自從進了IT,我發現我的記性貌似越來越差了,╮(╯▽╰)╭)

1、File—New…—New Virtual User中選擇Web(HTTP/HTML)協議

 

2、首先寫個函式,程式碼如下

 

3、在設定中把日誌開啟,執行一下(可以開啟View—Test Results…檢視執行的圖形化結果,驗證一下自己的函式寫對沒),看是否有報錯 

——上述過程就是一個發請求的過程,現在的問題是我怎麼知道我請求返回的結果是對的?這時候就要獲取伺服器的響應,然後加個斷言來判斷。

4、獲取響應(即請求返回的結果),寫個關聯函式獲取

 

執行一波,檢視結果,日誌中多了一欄藍色的東西(沒開日誌是看不到的)

 

PS:頁面預設的編碼是GB2312,如果是亂碼,去設定那裡改一下編碼格式,方法自行百度。

——此處假設要驗證的是“紫川”,以《紫川》為例,我在文字檔案中,找到(Ctrl+F查詢快捷鍵)了這個——d.set('key_word', '紫川');

 

接下來就是寫斷言部分,這個需要一點C語言基礎

再次執行,就能在下面的日誌中看到斷言的結果了。

 

以上是基於http協議的,關於Webservice的大致相同,首先選擇協議為Web Services,然後匯入一個MSDL檔案,後面的就大致相同了。

完整程式碼:

Action()
{

  web_reg_save_param("Response",        //關聯函式

  "LB=d.set('key_word', '",
  "RB=');",
  "Ord=1",
  "Search=NoResource",
  LAST);

  web_url("Request","URL=http://yuedu.baidu.com/search?word=%D7%CF%B4%A8&pbook=0",LAST );   //請求

  if(strcmp(lr_eval_string("{Response}"),"紫川")==0)     //斷言部分
  lr_output_message("斷言成功");
  else
  lr_output_message("斷言失敗");

  return 0;
}

 

____努力可能比較累,但是心安....

相關文章