接口測試之基於LoadRunner的一個簡單示例


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

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;
}

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM