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