我对Cucumber-jvm / Selenium还是很陌生,所以如果问题听起来很愚蠢,我感到非常抱歉。
我的问题是,如果我将功能文件作为黄瓜功能运行,请在不同的步骤文件中运行@before,因为它会搜索所有步骤。如果确实如此,那么如何使它运行我想要的步骤?我可以更改粘合代码的位置,但这是唯一的解决方案吗?
背景:我是一家大公司的实习生。我正在为产品进行自动化软件测试。已经存在现有的自动化测试步骤。我们要做的是扩展项目并添加我们自己的步骤。我创建了一个新的简单步骤类和功能文件以进行尝试。这是行不通的,因为每次我运行功能文件时,它都会在不同的步骤中触发我认为@before的操作。 @before在软件包的每个现有步骤中。如果我更改程序包并运行配置,然后添加胶水代码的位置,那么事情就可以了。我正在使用Eclipse Photon。
答案 0 :(得分:0)
stepdefs和hook方法本质上是全局的。如果它们存在于流道的胶水选项中定义的包装中,则将针对每种情况将它们拾取。出路是在钩子上使用与场景匹配的标签。
类似
@Before("@TagNew")
@TagNew
Scenario:....