当我执行方案大纲时,它从方案大纲的开始执行了多次。我知道它会根据测试数据执行多次,但是当我们执行场景大纲时,不应每次都从Give语句执行它,而必须多次执行Example。 如何解决这个问题。
@Workflow
Scenario Outline: Perform
Given I click on Maglink
When I Click AllMagLink & Select Exception on Advanced Filters
And I Send the Value After Reading Form ExcelSheet
And I Click on Search
And I Click on subregLink
And I Get The xxxx From xxxx Tab
Then I Click on <Tabs> and Validate it in AllTasks
Examples:
|Tabs |
|Apple |
|Mango |
| PineApple |
答案 0 :(得分:1)
方案概述是一种从一个书面定义中运行多个方案的方法。对于每个示例,该方案将从一开始就作为单个方案运行。在每个方案之间(每个示例),所有设置都会重置,以使先前的方案不会影响当前的方案。
这是方案概述的工作方式,并且在过去十年中一直有效。它们可以正常工作,并且不会改变。您只是误解了它们的工作原理。
如果您想编写一个执行许多不同操作的方案,则必须将执行此操作的代码下推到步骤定义中,因此最终需要执行类似的步骤
When 'I do many different things' do
@results = []
@results << do_first_thing
@results << do_second_thing
end
Then "I should see I've done different things" do
# examine @results
end
注意:上面的代码是Ruby
答案 1 :(得分:0)
Scenario Outline:
将为每个示例重复场景中的所有步骤。
如果只想对每个选项卡重复最后一步,则需要重写方案:
@Workflow
Scenario Outline: Perform
Given I click on Maglink
When I Click AllMagLink & Select Exception on Advanced Filters
And I Send the Value After Reading Form ExcelSheet
And I Click on Search
And I Click on subregLink
And I Get The xxxx From xxxx Tab
Then I Click on Apple and Validate it in AllTasks
And I Click on Mango and Validate it in AllTasks
And I Click on PineApple and Validate it in AllTasks
缺点是,如果先前的选项卡之一失败,它将跳过后续步骤(其他选项卡)。