Cucumber - 場景



場景是 Gherkin 核心結構之一。每個場景都以關鍵字“Scenario:”(或本地化版本)開頭,後跟可選的場景標題。每個特性可以包含一個或多個場景,每個場景包含一個或多個步驟。一個非常簡單的場景示例如下:

場景 - 驗證幫助功能。

給定使用者導航到 Facebook。

當用戶點選幫助時,幫助頁面開啟。

考慮一種情況,我們需要多次執行測試場景。假設,我們需要確保登入功能對所有型別的訂閱者都可用。這需要多次執行登入功能場景。為了重新執行程式碼而複製貼上相同的步驟,似乎不是一個明智的想法。為此,Gherkin 提供了另一種結構,即場景大綱。

場景大綱類似於場景結構;唯一的區別是提供了多個輸入。如以下示例所示,測試用例保持不變且不可重複。在底部,我們為變數“使用者名稱”和“密碼”提供了多個輸入值。在執行實際測試時,Cucumber 將用提供的輸入值替換變數,並執行測試。執行完第 1 次傳遞後,測試將使用另一個輸入值重新執行以進行第二次迭代。此類變數或佔位符可以使用“<>”在提及 Gherkin 語句時表示。

示例

場景大綱 - 社交網站的登入功能。給定的使用者導航到 Facebook。

當用戶使用使用者名稱“<username>”和密碼“<password>”登入時,登入應成功。

| username | password  | 
| user1    | password1 | 
| user2    | password2 |

有一些技巧和竅門可以巧妙地定義 Cucumber 場景。

  • 每個步驟都應明確定義,以免給讀者造成任何混淆。

  • 如果需要,不要重複測試場景,請使用場景大綱來實現重複。

  • 以一種可以在多個場景和場景大綱中使用的方式開發測試步驟。

  • 儘可能使每個步驟完全獨立。例如:“給定使用者已登入”。這可以分為兩個步驟

    • 給定使用者輸入使用者名稱。
    • 點選登入。
廣告

© . All rights reserved.