關於fitensse的一些問題

有一位博友問了一些關於fitnesse的問題,我覺得都是不錯的問題。發在自己的blog裏,感興趣的同行,可以一起討論。

 

1.    如何不讓fitnesse自動把駝峯命名形式的字符串識別爲一個新頁面(有沒有轉義符之類的)

試試單引號。因爲fitnesse是基於wiki page的,你可以google一下wiki的語法。

 

2.    如何把某個路徑或某個jar包定義爲全局應用。這樣就不用在每個測試頁面重複定義一遍了。

fitnesse裏面,有testsuite的概念,比如我們這個工具的frontpage是這樣寫的:紅色的是code.

# BasicTestSetup就是一個test suite.

'''Testsuites'''

|>BasicTestSetup|''Basic Test Setup''|

 

# 定義class path

----

'''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 pageteardown page.你可以把一些初始化這個test suite的東西放到setup page裏面去。對於clean up的東西,比如關閉瀏覽器這個的操作放到tear down pageSet up pageteardown page是會被這個suite裏面的每個test case自動調用的。詳細內容參見fitnesseuser 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這個類中,作爲成員。然後定義了一些方法,比如打開瀏覽器等等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章