Fitnesse簡介
Fitnesse是完全集成的獨立wiki(wiki指一種超文本系統。這種超文本系統支持面向社群的協作式寫作,同時也包括一組支持這種寫作的輔助工具)和驗收測試框架。我們可以簡單的理解為:Fitnesse是一個測試框架,並且是一個可以像編寫wiki一樣編寫TestCase的自動化測試框架。
FitNesse是一個輕量級的、開源的框架,能夠幫助開發團隊方便的定義驗收測試,通過在web頁面上簡單的輸出和預計輸出的表格就可實現,並且可以運行這些測試以確定是否通過,Fitnesse可以執行單個TestCase,也可以批量執行TestCases。
FitNesse可以作為一個wiki,FitNesse wiki可以很方便的創建和編輯頁面。
FitNesse是一個Web服務器,不用過多的安裝配置,很方便使用。它不需要配置,直接在機器上面運行就可以通過瀏覽器訪問。
Fitnesse官網:http://www.fitnesse.org/
Fitnesse的特點
- 是驗收測試 wiki。
- 是一個易於使用的 wiki web 服務器。
- 易於安裝: 只需下載一個 jar 文件並啟動它。
- 規格說明/需求可以用作測試輸入。
- 支持Java,Python語言。
Fitnesse原理
FitNesse框架包含Wiki,Test system,Fixtures,其中
Wiki:展現具體的Test Case、Test suite、甚至是Test Requirement;
Test system:Fitnesse的執行引擎,包括兩個部分:Slim、Fit
Fixtures:真正的測試代碼
Fitnesse語法鏈接:
http://www.fitnesse.org/FitNesse.UserGuide.QuickReferenceGuide#GlobalPROPERTIES
快速編寫測試用例指南鏈接:
http://www.fitnesse.org/FitNesse.UserGuide.WritingAcceptanceTests
Fitnesse下載和運行
下載:http://www.fitnesse.org/FitNesseDownload
啟動:進入jar包所在目錄,終端執行 java -jar fitnesse-standalone.jar -p 10000
注:端口號可隨意
打開瀏覽器輸入:http://localhost:10086/
編寫測試代碼
1.用idea新建Maven項目:FitnesseTest
2.關鍵代碼HttpUtil.java
說明:該類主要是http請求類,用於接口調用Get或Post請求。
方法。我們在QueryWeather.java中定義接口請求參數,並設置SET方法,goToResult()方法是整個代碼的核心部分,showBody()用於顯示接口請求參數,showResult()用於顯示接口響應結果,result()是斷言,用於校驗接口返回結果是否包含預期結果。我們所定義的變量,方法都是用於在Fitnesse頁面的顯示。
4.pom.xml
說明:本pom.xml配置的jar包有冗余,請根據項目實際需要填寫。
08
Fitnesse編寫測試用例
1.在編寫用例之前,我們在idea中執行以下命令:
mvn dependency:copy-dependencies
maven項目所依賴的jar包會導出到target/dependency目錄中。
2.編寫測試用例
瀏覽器輸入:http://localhost:10086/
第一步:點擊頁面edit
第二步:編寫如下信息
!1 Welcome to [[FitNesse][FitNesse.FitNesse]]!
!2 !style_blue['''接口自動化平台''']
!4 Today is !today.
|!3 項目名稱|!3 項目描述|
|!4 [[!style_code(!style_darkOrange[查詢天氣])][.FrontPage.WeatherTest]]|!4 查詢天氣相關接口|
!note Release ${FITNESSE_VERSION}
!contents -R2 -g -p -f -h
!3 Set Test Env Param
!define TEST_SYSTEM {slim}
!define slim.timeout {3000}
!define slim.port {10000}
!define slim.pool.size {50}
!define slim.host {localhost}
!path G:\fitness\FitnesseTest\target\classes
!path G:\fitness\FitnesseTest\target\dependency\*
說明:倒數第二行表示所要執行的java類
最后一行表示依賴jar包的位置
第三步:點擊Save
第四步:點擊問號
!contents -R2 -g -p -f -h
!| QueryWeather |
| #title | Envrionment | Expect | go to result? | show result? |show body?| appid|appsecret|version|cityid|
| 查詢天氣 | 測試 | "cityid":"101020100" | PASS | | | 83319595|NJRQ5d9y|v9|1|
第五步:點擊Save
第六步:點擊Tools-Properties
第七步:點擊Test-Save Properties
第八步:點擊Test
源碼