2017-09-27 53 views
1

我需要从我的Java代码中调用特定的场景。在简单的黄瓜 - 硒框架中不需要,但我需要这个,所以我可以将黄瓜与空手道结合起来。我想用空手道场景保留一个功能文件,然后根据我的需要从黄瓜步骤定义中调用它们。有没有从java代码中调用特定场景的特定方式,而不是使用TestRunner和标签?

+1

如果你正在谈论纯净的黄瓜(不知道什么关于空手道),你可以直接调用Main类的黄瓜(包cucumber.api.cli)。参考我之前提供的这个答案。 https://stackoverflow.com/questions/43518103/how-to-invoke-the-cucumber-runner-class-from-a-different-main-method/43519626#43519626。我还没有尝试过执行特定的场景,但是如果您将行号与特性文件名一起传递,它应该可以工作 - features/test.feature:7。 – Grasshopper

+0

好的,谢谢你的回答@Grasshopper,让我试试这个。 – kushal

回答

0

是的,请参考相关文档经由Java API

调用空手道但你需要的场景分割成独立的功能文件。你不能“选择”一个通过Java API调用。如果您确实需要这样的选项,请提出功能请求,但我认为这不是优先事项。

+0

有时,不需要运行功能文件中的所有场景,我想绕过我必须为不同场景创建不同功能文件的位置。 – kushal

+0

如果您确实希望方案“可重复使用”,将其移入单独的文件没有任何问题。不要懒惰:P –

+0

这将是最简单的解决方案,但随着自动化程度的提高,拥有大量功能文件可能会造成麻烦。所以需要一个替代品。 – kushal

相关问题