我已經設置了SpecFlow來執行一些Selenium測試來測試網站。這一切工作正常!在SpecFlow和Selenium的功能設置中指定登錄
我只是在考慮是否有可能在SpecFlow功能的結構化方面進行一些優化。
特定功能中的所有場景都應使用相同的登錄名。這是我現在在StepDefinition中使用[BeforeScenario()]鉤子硬編碼的東西,因爲我並不真正想用登錄信息污染場景。這與測試無關。
但與此同時,我想刪除硬編碼部分,並將其移入我的功能。
我的問題是兩部分。
我可以在我的功能說明中指定登錄憑證嗎?有點像一個給定:
Feature: As a user I want to be able to see my ongoing orders, and interact with them. Given I am logged in with username abc and password xyz Scenario: See list of ongoing order Given I place an order When I navigate to MyOrders page Then I can see at least one order in the list
這是好的做法?
在我的意思是在功能級別上這樣做是否有意義。這些場景不依賴於特定的順序,如果我不需要登錄每個場景,它們的執行速度會更快。
感謝您的輸入。
感謝AlSki, 這正是我在想什麼,但不知道如何用語言表達......,正如你所知道的,我不知道如何把這個變成場景。 我們實際上有大約12個不同的示例用戶,其名稱與您的建議相同。他們沒有登錄,但他們是我們用來討論不同場景的。當你提到這件事時,這些碎片就會落到位! 當然這是我應該使用的。我可能必須發明更多的用戶,以考慮我想測試的所有不同場景。但這是有道理的! 謝謝! –
Liz的博文也很棒!我喜歡這種區別。 –