Fitnesse框架簡單介紹


1.Fitnesse是什么?

官方的說明:FitNesse is a wiki server. It's also a test execution engine.

Fitnesse是一個wiki server(Wiki指一種超文本系統。這種超文本系統支持面向社群的協作式寫作,同時也包括一組支持這種寫作的輔助工具。),同時還是一個測試引擎。

從字面上來看,Fitnesse提供了一套用例的寫作以及執行的解決方案。

 

2.Fitnesse有哪些組件?

   ,---------------.
   |  Wiki Server  |<-------------.
   `---------------'              v
           |               ,-------------.
           |               |  Reporting  |
           v               `-------------'
   ,---------------.              ^
   |  Test System  |--------------'
   `---------------'
           |
           |
           v
,---------------------.
|  System Under Test  |
`---------------------'

wiki Server: 是用來編寫用例的
Test System:是一個client,用來解析用例,並傳給SUT來執行
System Under Test:簡稱SUT,是一個server,用於執行用例
Reporting:主要負責記錄執行結果

 

3. Fitnesse可以用來做什么?

從該框架的作用定位來看,它就是一個用例的編寫和執行工具。

如果用它編寫接口自動化測試用例,那么它就可以被當作接口自動化測試工具。

如果用它編寫web界面自動化測試用例,那么它就可以被當作web界面自動化測試工具。等等。

也就說,只要能夠編寫某種類型的自動化用例,它就可以當作相應的自動化測試工具。比如還有APP自動化測試。

 

4. Fitnesse是如何工作的?

在說如何工作前,先說明一下Fitnesse的優點,首先它是開源的,可以在GIT上下載到源代碼。其次它提供了多種用於編寫用例的表格,並且還提供了多種有利於提高編寫用例效率的方法。最后它沒有把自己界定為哪種自動化測試工具,這樣就可以用它做不同自動化測試。

以做接口自動化的過程為例子,來說明Fitnesse是如何工作的。

1)如果要發送一個POST請求,那么首先需要編寫一個測試類(PostRequest),在這個測試類中編寫一個或者多個方法來實現一個POST請求(例如:sendRequest(String a,...),a就是POST請求中的參數)

2)在Fitnesse提供的TestPage中編寫用例(如下面的例子,具體如何編寫用例,可以查看Fitneese官方指導書中的script table)

Script post request
ensure send request; a ...

 

 

3)點擊TestPage中Test按鈕執行用例。Test System會將上面的表格根據表格類型,一行一行解析,並發送給SUT來執行。執行時,首先第一行就是實例化PostRequest對象,然后第二行就是調用sendRequest方法,其中第二行第三列及后序列為參數(參數的書寫方式,還有其他方式,詳看Fitneese官方指導書中的script table)。這樣就是完成了一個Post請求的發送過程。如果還需要校驗響應信息,可以在PostRequest類繼續添加方法,然后在表格中添加第三行,用於增加校驗的方法。

 

以上就是對Fitnesse這個框架的簡要說明,Fitnesse只提供了編寫以及執行用例的方法,並沒有任何現成的方法,用於測試接口或者界面自動化測試。為使用者留足了自我發揮的空間,可以自己定義測試方法,可以編寫通用的方法,也可以根據業務定制方法,靈活性非常的強。除了主要的用途靈活性,Fitnesse還提供了一套Restful service,可以利用該服務將自動化工程集成到項目的自動化構建中。Fitnesse在編寫用例的方法中還添加了很多小技巧,來提高效率和效果。它的優點還有待在實踐中慢慢發現。






免責聲明!

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



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