有一位博友問了一些關於fitnesse的問題,我以爲都是不錯的問題。發在本身的blog裏,感興趣的同行,能夠一塊兒討論。java
1. 如何不讓fitnesse自動把駝峯命名形式的字符串識別爲一個新頁面(有沒有轉義符之類的)web
試試單引號。由於fitnesse是基於wiki page的,你能夠google一下wiki的語法。瀏覽器
2. 如何把某個路徑或某個jar包定義爲“全局”應用。這樣就不用在每一個測試頁面重複定義一遍了。框架
在fitnesse裏面,有testsuite的概念,好比咱們這個工具的frontpage是這樣寫的:紅色的是code.ide
# BasicTestSetup就是一個test suite.工具
'''Testsuites'''測試
|>BasicTestSetup|''Basic Test Setup''|ui
# 定義class pathgoogle
----spa
'''Classpath'''
!path fitnesse*.jar
!path ./lib/*.jar
# 定義全局變量
----
'''Definitions'''
!define TEST_SYSTEM {slim}
!define BROWSER_TO_TEST {Internet Explorer}
!define START_URL {localhost:8080}
另外,每一個testsuite裏面有setup page和teardown page.你能夠把一些初始化這個test suite的東西放到setup page裏面去。對於clean up的東西,好比關閉瀏覽器這個的操做放到tear down page。Set up page和teardown page是會被這個suite裏面的每一個test case自動調用的。詳細內容參見fitnesse的user guide.
3. 如何在fitnesse測試裏使用測試數據文件(好比做爲動態參數之類的)?放在哪裏,如何加載,這個有經驗嗎?
這個涉及到框架問題了。個人經驗是將測試數據放到一個page下,在test case裏面include,作到測試數據和測試腳本分離。好比 test data的頁面是這樣的:
# InsertData這個頁面裏面有不少頁面,每一個頁面裏都有測試數據,好比truck one 裏面定義了一些變量。
http://localhost:82/FrontPage.BasicTestSetup.InsertData
|>TruckOne|''Truck One''|
|>TruckTwo|''Truck Two''|
http://localhost:82/FrontPage.BasicTestSetup.InsertData.TruckOne
!define vehicleDisplayName {rt_70_t1h_4m}
!define vehicleVin {55200004611114770}
我再介紹一下如何使用這個頁面:include測試數據的頁面
http://localhost:82/FrontPage.BasicTestSetup.SetupOtherData.SetupVehicles
!include -c .FrontPage.BasicTestSetup.InsertData.TruckOne
Table裏面這樣調用變量
!|script|pages.CreateVehiclePage|
|type display name|${vehicleDisplayName}|
|type vin|${vehicleVin}|
這樣的設計能夠很好的分離測試數據和測試代碼。
4.你的那個示例代碼我運行不成功啊,我已經引入了selenium-java-2.31.0.jar ,且import 以下類:
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebDriverBackedSelenium;
import org.openqa.selenium.firefox.internal.ProfilesIni;
import org.openqa.selenium.firefox.*;
import org.openqa.selenium.ie.InternetExplorerDriver;
import com.thoughtworks.selenium.*;
編譯經過,但執行異常。是否是還須要哪些文件?
呵呵,我那個示例代碼頗有可能不成功,只是一個示例。由於咱們在selenium的基礎上,定義了一些本身的類。其中最主要的就是Browser這個類了。這部分是由其餘開發作的,我也只是使用而已。代碼是不能公佈的,由於公司有security policy。我只能提供思路,咱們把webdriver,和selenium這兩個類都包含到Browser這個類中,做爲成員。而後定義了一些方法,好比打開瀏覽器等等。