關於fitensse的一些問題

有一位博友問了一些關於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這個類中,做爲成員。而後定義了一些方法,好比打開瀏覽器等等。

相關文章
相關標籤/搜索