2015-10-20 56 views
1

當用戶登錄到谷歌系統,我應該能夠naviagate所有菜單如何留住單次的測試中Specflow與specflow +擅長

@Login 
Scenario: Successful Login to Google 
Given Google system launched 
When Login with XYZ 
Then Google main page displayed 
@menuNavigate 
Scenario Outline: Navigate to page from google menu 
    Given User navigates to <Tab> using the tabs 
    When The Page is completely loaded with <Header> 
    Then the result should be that a control with controlId <ControlId> is displayed on the screen 

@source:menuNavigate.xlsx 
Scenarios: 
| Tab | Header | ControlId | 

@login測試成功。當執行@menuNavigate測試時,它會啓動單獨的會話。

有沒有辦法繼續同一個瀏覽器會話中的試驗的其餘

回答

0

你也許可以做到這一點對每個功能的基礎上(即你可以重複使用的功能在所有的情況下的同一個瀏覽器)通過在[BeforeFeature] hook中創建瀏覽器實例,然後在每種情況下使用它。只要[beforeFeature[BeforeScenario]掛鉤處於同一個類中,您就可以聲明一個靜態字段來保存您的瀏覽器實例,並將其填充到[BeforeFeature]掛鉤中,並重新使用[BeforeScenario]鉤子中的字段。

然而考慮你是否真的想這樣做。如果您的場景以不同的順序運行,會發生什麼?沒有保證測試執行順序。還是並行?

我非常懷疑這種方法在長期內可以很好地擴展。

如果你想有一些共同的設置,然後create a background或創建一個步驟來完成設置,並從每個場景調用此設置。如果您想要設置步驟執行某些已在另一個測試中使用的操作,則甚至可以使用call other steps from this setup step