2017-05-08 60 views
1

我正在進行一組黃瓜測試,其測試表有可能增長很多。下面的例子用這種形式:黃瓜測試表變長太長

Feature: Login Action with a Named User 

Scenario Outline: Succesful first login with valid credentials 
Given User is on Foo LoginPage 
# And User has recently registered 
When User clicks on Start Session 
    And User inputs "<user>" and "<pass>" 
Then I validate that "<user_full>" appears as profile name 
    And Mi perfil icon is displayed 

Examples: 
    |user  |pass |user_full | 
    |[email protected]|Test123|Foo Bar | 

我的意思是,有了這個簡單的登錄數據表有三個參數。但是當我開始填寫表格時,數據表格可以輕鬆增長到三十,四十個參數。

我想過重寫下面的測試用例。這樣,測試表中最多隻有兩個參數:測試用例名稱和用戶電子郵件,它們有點像主鍵。

然後,數據是使用這兩個參數,填寫由所述測試用例的其餘部分訪問的HashMap中的電子表格中取出。

Feature: Login Action with a Named User 

Scenario Outline: Succesful first login with valid credentials 
Given User is on Foo LoginPage 
# And User has recently registered 
When User logs into app with "<user>" 
Then I validate user information appears in profile name 
    And Mi perfil icon is displayed 

Examples: 
    |TC_NAME |user  | 
    |TC01 |[email protected]| 
    |TC02 |[email protected]| 

電子表格如下:

Data Pool spreadsheet

有什麼想法?你有沒有使用不同的東西來避免你的Cucumber定義中有一個長數據表?

回答

1

基於Kyle的回答,我挖成黃瓜的文件,這導致我使用內置式管道表的每一個步驟,而不是在實例部分有40個列,就像這樣:

... 
Scenario Outline: Compose an email in Gmail 
Given I am logged onto gmail with: 
|user | pwd | 
|foo | bar | 
When I click the compose button 
And enter user email, subject and message as: 
    |to | subject | message | 
    |fuu | subj | ...  | 
... 

可以看到如何輸入更多字段時,數據變得易於管理。 另外,還有一個叫做Tidy Gherkin的整潔工具可以對齊管道表,所以這是一個獎勵。

0

如果您的Scenario表中有很長的參數列表,那麼您最有可能做錯了事情。

黃瓜是少談在後臺試驗對話建立了一個工具,和。這是關於有一個可以執行的需求文檔。如果沒有人能夠理解文檔(在40列需要滾動的情況下這會很困難),但是它的寫法是錯誤的。

它會要麼使用更多的場景,而不是寫一個大規模複雜的表格,或縮短你所寫的情況(通常是更好的方式來工作)。

編程,Excel表,switch語句和對象收集的測試數據一起使用不同的開關的好辦法。嘗試使用這些,而不僅是一切看起來更乾淨,但它會使它更容易理解。