cucumber - 当我执行场景大纲时,它会从给定的语句中执行多次(Cucumber-JVM)
问题描述
当我执行场景大纲时,它从场景大纲开始执行多次。我知道它会根据测试数据执行多次,但是当我们执行场景大纲时,它不应该每次都从给定语句执行,它必须多次执行示例。如何解决这个问题。
@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
推荐阅读
- javascript - 有没有办法在段落中的字符之间添加制表符?
- c - 我可以在编译时使用 gcc 扩展强制显式初始化数组大小吗?
- c# - 无法在 Windows 7 和 8.1 上使用 C++ 库运行 Winforms 应用程序
- homebrew - Brew 不会在 Mojave 上升级
- python - 记录 INFO 时如何让龙卷风打印出日期时间?
- angular-material2 - 获取角度 6、角度材料 2 中选定 mat-option mat-select 的文本/html 值
- python - 为什么不能修改 Class 的 Tkinter Button 配置?
- c# - 使用 FirefoxBinary.StartProfile() 在 headless 中运行 firefox
- sqlite - 在kivy中访问类之间的对象属性
- python - linux anaconda 环境不安装模块