将picocontainer jar添加到Java构建路径时找不到黄瓜框架场景

问题描述 投票:1回答:1

我正在尝试使用多个步骤定义文件来构建Cucumber BDD框架。我仍在尝试了解如何使用picocontainer运行步骤定义文件。我的问题是,一旦我将picocontainer jar添加到项目的构建路径中,在执行测试运行程序时,它将找不到任何方案或步骤。

控制台

enter image description here

Java项目构建路径

enter image description here

我的项目包含:

• A feature file
• 2 step definition files
• 1 test runner
• Utilities package with a webdriver initializer method

我的功能文件具有以下步骤:

enter image description here

前两个小黄瓜步骤被粘贴到以下步骤定义类中的方法上:

package stepDefinitions;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import cucumber.api.java.en.Given;

public class SD_HomePage {
    WebDriver driver;

    @Given ("^the user is on the websites homepages$")
    public void user_is_on_the_websites_homepage() {
        driver = utilities.WebDriverInitializer.openWebdriver("Chrome");
        driver.get("https://www.forExample.com/");
    }

    @Given("^then clicks on AboutUs title$")
    public void then_clicks_on_AboutUs_title() throws Throwable {
        driver.findElement(By.xpath("//a[@href='/en/about-us'][1]")).click();

    }

}

第三小黄瓜步骤被粘贴到此单独的步骤def类:

package stepDefinitions;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;

import cucumber.api.java.en.When;

public class SD_AboutUsPage {
    WebDriver driver;

    @When("^the user clicks on Contact widget$")
    public void the_user_clicks_on_Contact_widget() throws Throwable {
        driver.findElement(By.xpath("//span[@class='icon-envelope listCta__img'][1]")).click();
    }
}

[从测试跑步者执行测试时,跑步者不会发现任何场景或步骤:

package testRunners;

import org.junit.runner.RunWith;

import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;

@RunWith(Cucumber.class)
@CucumberOptions(features = "Features", glue = "stepDefinitions")
public class TestRun_NewsletterForm {

}

来自测试运行器的控制台结果

enter image description here

但是,当我删除picocontainer时,将找到场景和步骤。这将使我面临无法使用共享状态Webdriver的原始问题。

删除picocontainer jar后测试运行

enter image description here

我知道在这个项目中我还没有建立一个类,它将包含共享状态Webdriver和步骤定义页面上的构造函数。我还有另一个项目也受同一问题的影响,但是我觉得如果使用该示例,它将使这个问题更加复杂。

java cucumber bdd gherkin picocontainer
1个回答
0
投票

我正面临相同的问题,如果有人对此有解决方案,请回复。

非常感谢。

© www.soinside.com 2019 - 2024. All rights reserved.