我正在使用Protractor-Cucumber框架为我的应用程序编写自动测试。
我有多个功能文件,每个功能文件都有多个场景,我想使用Cucumber标签管理其执行顺序。 显然,所有方案都属于“ FullRegression”类别,但是我还想用“ SmokeTest”标记来标记其中一些方案,使其每天运行。 问题在于那些“烟雾”场景散布在所有功能上,需要特别执行才能正常工作。
例如,我要从Feature2运行方案2和3,然后从Feature1运行方案1和2,然后从Feature3运行方案5。
是否可以使用黄瓜标签来做到这一点?我已经尝试过了,但是没有按预期工作。我唯一的另一个想法是创建特殊的“ SmokeTest.feature”文件,但随后我需要在其中重复很多场景。
感谢任何帮助。
答案 0 :(得分:1)
黄瓜的设计使所有方案彼此独立,无法将它们连接在一起。每个场景都是从头开始,清理会话,清空数据库等。这是所有主要测试框架(幂等)的标准做法
因此,没有简单的方法可以做您想要的事情,更重要的是,做您想要的事情没有任何意义。
现在,有些人(特别是一些Cucumber用户)花了很大的力气来解决这个问题,所以您的测试套件可能发生了这种情况,但这又是一件很糟糕的事情。
如果要合并方案,则应编写新方案,这些方案使用要合并的方案的步骤,例如
Scenario: Foo
When I foo
end
Scenario: Bar
When I bar
end
# This is the one you would write
Scenario: Foo bar
When I foo
And I bar
end