我們使用硒和FitNesse的用於UI測試,我們打開Firefox和執行所有的用戶界面相關的操作 - 點擊,填寫領域,按下按鈕等如何繞過Fitnesse SetUp/TearDown進行單項測試?
由於我們目前的測試框架的一部分,FitnesseRoot有設置/ TearDown定義,打開/銷燬瀏覽器實例。所有套件和測試(大約300個)使用SetUp/TearDown作爲UI測試的一部分。
我想用新的燈具代替我們的簡單測試之一進行API測試,因爲API測試比UI測試要快得多。測試本身工作正常,但問題在於即使我的REST裝置不需要瀏覽器實例,SetUp會打開它並且TearDown嘗試關閉它,但會返回一個異常(因爲執行中的測試指向API驅動程序類,而TearDown中的方法屬於UI Driver類)。
如上所述,我無法刪除SetUp/TearDown,因爲它對300個測試用例有影響。有什麼辦法可以阻止一個特定的測試使用SetUp/TearDown?或者將TearDown指向UI驅動程序類,以便測試不會引發異常?
SetUp
:
|import |
|com.myapplication.fitnesse.ui|
|com.myapplication.util.restclient.fixtures|
!define slim.flags {-s 200}
!|script |
|start| my UI driver class|${SERVER}|${PORT}|FIREFOX|${PAGE_PATH}.${PAGE_NAME}|${PROXYSERVER}|
|debug mode |false |
實際測試:
!define TEST_SYSTEM {slim}
| script | my API driver class | server ip:port | username | password|
| login |
| do something...|
TearDown
:
|script |
|logout |
|destroyDriver |