2017-05-08 65 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语句和对象收集的测试数据一起使用不同的开关的好办法。尝试使用这些,而不仅是一切看起来更干净,但它会使它更容易理解。