Loadrunner接口測試的兩種方法_第1頁
Loadrunner接口測試的兩種方法_第2頁
Loadrunner接口測試的兩種方法_第3頁
Loadrunner接口測試的兩種方法_第4頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Loadrunner 接口測試的兩種方法 其實無論用那種 測試方法,接口測試的原理是通過測試程序模擬客戶端向服務器發送請求報文,服務器接 收請求報文后對相應的報文做出處理然后再把應答報文發送給客戶端,客戶端接收應答報文這一個過程。 方法一、用LoadRunner 實現接口測試 大家都知道LoadRunner是一種性能測試工具,但它也可以用在我們做接口測試的時候。開發人員開 發出來的接口,提供給測試人員詳細的接口使用說明書,該說明書最基本的要求如下: 接口測試地址:/SNS/Publish 請求報文參數說明: 參數名稱 參數描述 字符類型 字符值 SNSID 社區 ID String 6 Use

2、rID 用戶 ID String 10 CommentsTypeI D 評論類型 ID String 2 CommentsID 評論 ID String 10 AuthorID 作者 ID String 10 CommentsConte nt 評論內容 String 50 請求報文格式: 123 456 2 123 456 Dont forget the meeting! 應答報文的參數接口說明: 參數名稱 參數描述 字符類型 字符值 UserID 用戶 ID String 10 CommentsTypeI D 評論類型 ID String 2 CommentsID 評論 ID String

3、10 CommentsConte nt 評論內容 String 50 StatusCode 返回值 Int 0 代表 pass, 非0 代表 fai l StatusText 返回信息描 述 String 456 2 123 Dont forget the meeting! 0 發送成功一條評論 有了上述的說明書之后,測試人員可以根據文檔的描述在 LoadRunner書寫相應的接口測試腳本。 LoadRunner 中涉及到向服務器發送請求的 API方法包括:web_url() , web_submit_form() , web_s ubmit_data() , web_custom_reque

4、st() 。下面介紹兩種我常用的方法: 方法一:使用 web submit data() web_submit_data(insert, Action=23/SNS/Publish.htm , Method=POST”, Referer=23/SNS/Publish.htm , Mode=HTML, ITEMDATA, Name= SNSID ”,Value=6601”,ENDITEM, Name= UserID ”,Value=123”,ENDITEM, Name= CommentsTypeID ”,Value=1”,E

5、NDITEM, Name= CommentsID ”,Value=456”,ENDITEM, Name= AuthorID”,Value=789”,ENDITEM, Name= CommentsContent ,Value=Just for testing,ENDITEM, LAST); 方法二:使用 web_custom_request() char str1000; strcpy(str,SNSID=7999&UserID=1&CommentsTypeID=1&CommentsID=1&AuthorID=1&CommentsContent=1 );

6、web_custom_request(Publish, Url= 23/SNS/Publish.htm, Method=POST”, Referer=23/SNS/Publish.htm , Mode=HTTP, str, LAST); 這也是一種寫法,可以跟 web_submit_data 互換。這種寫法更利于拼接參數。 方法一適合一些xml結構的根元素下的子元素同處于根元素下面, 且子元素數目較少的情況下,如果 xml結構比較復雜,比如說根元素下面有多級子元素,或者 xml樹結構分叉較多的時候,我們可以先把 x ml拼

7、接成一個字符串然后通過 web_custom_request() 向服務器發送請求。 我們在做接口功能測試的時候會很注意接口的應答報文的信息,這時候我們可以通過 LoadRunner 的日志信息查看或者可以通過 web_reg_find()或者web_find()這樣的API函數來統計接口的運行結果, 推薦使用web_reg_find() , web_reg_find()和web_find()區別請大家百度一下,詳細信息太多,在這里 不便敘述。 因為 web_reg_find() 是注冊型函數,所以應該放在 web_submit_data() 或者 web_custom_request ()的

8、前面。 如: web_reg_find(Text=0”,/ 應答報文里邊的信息 SaveCount= StatusCodeCount, 統計查詢字段的信息,如果找到值為 1,如果未找到值為 0 LAST); 在腳本的最后我們可以對查詢字段的信息進行統計 / Check result if (atoi(lr_eval_string(StatusCodeCount ) 0)( 判斷如果 Welcome 字符串出現次 /數大于 0 lr_output_message(Send out the comment successfully.); /在日志中輸出 Send out /the comment

9、succes sfully else( 如果出現次數小于等于 lr_error_message(Send out the comment unsuccessfully.); /在日志中輸出 Send out /the comment succes sfully return(0); 總結:用LoadRunner做接口測試無法做到把接口參數和程序分理, 接口的參數可以通過參數化的方 法來實現對同一個參數多個數據的測試。參數化后的測試數據保存在此腳本的保存位置下。 方法二、通過Java + Fitnesse實現接口功能測試 什么是Fitnesse ? FitNesse是一套軟件開發協作工具 Fit

10、Nesse是幫助大家加強軟件開發過程中的協作的工具。能夠 讓客戶、測試人員和開發人員了解軟件要做成什么樣,幫助建議軟件最終是否達到了設計初衷。 FitNesse是一套軟件測試工具 從另外一個角度看,FitNesse是一個輕量級的、開源的框架,能夠 幫助開發團隊方便的定義驗收測試( Acceptance Tests ),通過在web頁面上簡單的輸出和預計輸出的 表格就可實現,并且可以運行這些測試以確定是否通過。 FitNesse是wiki可以很方便的創建和編輯頁面 FitNesse是一個web服務器不用過多的安裝配置, 很方便使用。 我習慣使用Eclipse集成開發工具寫測試代碼, 用fitne

11、sse準備接口的測試數據, 由此實現接口的測 試數據和測試程序的分離。 關于Fitnesse的使用大家可以參考官方網址。 Fitnesse的四種常見表格是: ColumnFixture , ActionFixture , Decision Table , ScriptTable 。在工作中 ColumnFixture 用的 最多。 下面的程序使用的是 ColumnFixture 表格。 / Java fixtures package info.fitnesse.fixturegallery; import fit.ColumnFixture; public class PublishTest

12、extends ColumnFixture ( /通過url向服務器發送請求的程序段省略 public StringSNSID; /對應列名 |first part| public StringUserlD; 對應列名 |second part| private StringCommentsTypeID; private StringAuthorID; private StringCommentsContent; private StringUserID; 對參數的set和get方法省略 ColumnFixture表格里邊的測試數據是: 省略設置表格的存儲位置信息 總結:上述兩種方法都是對接口做

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論