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在編寫用例的方法中還添加了很多小技巧,來提高效率和效果。它的優點還有待在實踐中慢慢發現。