Chrome 在 运行 Cucumber 功能时启动两次

Chrome launching twice when running a Cucumber feature

我有一个问题,当我 运行 一个功能文件时 Chrome 驱动程序启动了两次。

我使用 Cucumber 和 Selenium Java 使用 IntelliJ。

当我为我正在处理的新功能区域创建一个新的 stepdef 文件时,问题就出现了。所以我很确定这与这些功能如何链接到步骤定义有关。我仍然在这里学习绳索,所以这是我没有太多经验的领域。

我的 Step Defs 在每个 stepdef 方法之前都带有 @Before 代码 运行 并且 @Before 代码包含一个

driver.get("https://mywebsite_under_test");

此网站 URL 两个 StepDef 文件各不相同。

当我启动测试时,我可以看到它启动的两个 chrome 会话是每个 Step Def 文件的 @Before 中提到的会话。我从 IDE 启动,我只是 运行 功能。

我的项目结构如下:

├───main
│   ├───java
│   └───resources
└───test
    ├───java
    │   ├───Database
    │   ├───Pages
    │   └───stepdefs
    │       ├───MOPStepDefs
    │       └───MOSStepDefs
    └───Resources
        ├───MOP Features
        └───MOS Features

我没主意了。我搞砸了配置中的 Glue 值,但没有得到任何运气。

在你的 before 标签中添加场景标签,这样当你 运行 那个场景时它只会 运行s 即 @Before("@MOP") 其中 @MOP 是你的特征的标签或设想。在您的实例中,语法应为 @Before("@Automated, @MOP")