我有一个问题,当我运行一个功能文件时,Chrome驱动程序会启动两次 .
我使用的是使用IntelliJ的Cucumber和Selenium Java .
当我为我正在开发的新功能区域创建新的stepdef文件时,问题出现了 . 所以我很确定这与功能如何链接到步骤defs有关 . 我还在学习这里的绳索所以这是一个我没有太多经验的领域 .
我的Step Defs每个都带有@Before代码,在每个stepdef方法和@Before代码包含a之前运行
driver.get("https://mywebsite_under_test");
对于两个StepDef文件中的每一个,此网站URL都不同 .
当我启动测试时,我可以看到它启动的两个chrome会话是每个Step Def文件的@Before中提到的会话 . 我正在从我刚刚运行该功能的IDE中启动 .
我的项目结构如下:
├───main
│ ├───java
│ └───resources
└───test
├───java
│ ├───Database
│ ├───Pages
│ └───stepdefs
│ ├───MOPStepDefs
│ └───MOSStepDefs
└───Resources
├───MOP Features
└───MOS Features
我在这里没有想法 . 我在Config中弄错了Glue值,但没有得到任何运气 .
1 回答
使用之前的标记添加方案标记,使其仅在运行该方案时运行,即@Before(“@ MOP”),其中@MOP是您的功能或方案的标记 . 在你的实例中,语法应该是@Before(“@ Automated,@MOP”)