当我执行Scenario Outline时,它会从给定的语句(Cucumber JVM)中执行多次



当我执行Scenario Outline时,它从场景大纲开始执行多次。我知道它会根据测试数据执行多次,但如果我们执行场景大纲,它不应该每次都从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  |

场景大纲是从一个书面定义中运行多个场景的一种方式。对于每个示例,场景将从一开始就作为单个场景运行。在每个场景(每个示例(之间,所有内容都会重置,这样以前的场景就不会影响当前的场景。

这就是情景概述工作的方式,并且在过去10年中一直有效。它们工作正常,这不会改变。你只是误解了它们的工作方式。

如果你想写一个能做很多不同事情的场景,那么你必须把做这件事的代码推到你的步骤定义中,所以你最终会得到像这样的步骤

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

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

这样做的缺点可能是,如果前面的一个选项卡失败,它将跳过下一个步骤(其他选项卡(。

相关内容

  • 没有找到相关文章

最新更新