Fitnesse簡介


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:真正的測試代碼

img

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

img

2.關鍵代碼HttpUtil.java

說明:該類主要是http請求類,用於接口調用Get或Post請求。

![](https://tva1.sinaimg.cn/large/0081Kckwgy1gl2e5joimcj302a02dmx2.jpg

img

3.關鍵代碼QueryWeather.java

說明:這是一個查詢天氣的接口,調用HttpUtil類中的sendGetJin()方法。我們在QueryWeather.java中定義接口請求參數,並設置SET方法,goToResult()方法是整個代碼的核心部分,showBody()用於顯示接口請求參數,showResult()用於顯示接口響應結果,result()是斷言,用於校驗接口返回結果是否包含預期結果。我們所定義的變量,方法都是用於在Fitnesse頁面的顯示。

img

4.pom.xml

說明:本pom.xml配置的jar包有冗余,請根據項目實際需要填寫。

img

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

img

第四步:點擊問號

img

!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

img

第七步:點擊Test-Save Properties

img

第八步:點擊Test

img

img

源碼

https://github.com/zyjin/FitnesseTest


免責聲明!

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



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