在SpecFlow中命名的步骤块

时间:2017-12-19 10:36:56

标签: selenium webdriver specflow

如果有人知道,如何在Specflow中使用重复的一系列步骤,即我需要检查几个包含相同元素部分的页面。

这样的事情:

When I open page Page1
Then <do_something>
And I check button 3
When I open page Page2
Then <do_something>
And I check Textfield1
When I open page Page3
Then <do_something>
And I check button 4

<do_something>:
And I check button 1
And I check button 2

好像我每页都有按钮1和2,还有其他东西,但我不想为每个页面写按钮1和2的步骤。

2 个答案:

答案 0 :(得分:0)

也许是这样的?

Scenario Outline: Pages
    Given I am on page <page>
    When I click on "button 1"
    And I click on "button 2"
    Then something will happen

Examples: 
    | page  |
    | page1 |
    | page2 |
    | page3 |

答案 1 :(得分:0)

请注意,您在示例表中放置的与示例位于同一行的任何内容都将在该示例的上下文中使用。因此,您希望在每个页面上执行特定操作,将其添加到该页面的行。 (@marcel,很抱歉复制你的代码,但我不能将其作为推荐发布并将其格式化为a.f.a.i.k。)

Scenario Outline: Pages
    Given I am on page <page>
    When I click on "button 1"
    And I do "<action1>"
    And I do "<action2>"
    Then something will happen

Examples: 
    | page  | action1 | action 2 |
    | page1 | action  | action   |
    | page2 | action  | action   |
    | page3 | action  | action   |