Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Cucumber、PicoContainer和;导体框架_Java_Selenium_Picocontainer_Conductor Framework - Fatal编程技术网

Java 使用Cucumber、PicoContainer和;导体框架

Java 使用Cucumber、PicoContainer和;导体框架,java,selenium,picocontainer,conductor-framework,Java,Selenium,Picocontainer,Conductor Framework,我遇到的问题是,在每个场景运行后,机车不会被终止。然后我就剩下了孤立的硒过程,例如: 501 75709 1 0 1:29PM ?? 0:00.05 /Users/rich/IdeaProjects/selenium/chromedriver.mac --port=45715 501 75720 1 0 1:29PM ?? 0:00.04 /Users/rich/IdeaProjects/selenium/chromedriver.ma

我遇到的问题是,在每个场景运行后,机车不会被终止。然后我就剩下了孤立的硒过程,例如:

501 75709     1   0  1:29PM ??         0:00.05 /Users/rich/IdeaProjects/selenium/chromedriver.mac --port=45715
501 75720     1   0  1:29PM ??         0:00.04 /Users/rich/IdeaProjects/selenium/chromedriver.mac --port=12004
这是我的PicoContainer设置类,因此它将在每个Cucumber场景中注入一个机车实例(它会这样做):

此条目位于my cucumber.properties文件中:

cucumber.api.java.ObjectFactory = CustomPicoFactory
下面是一个示例步骤定义类:

public class BorrowerSteps {

    Locomotive locomotive;

    public BorrowerSteps(Locomotive locomotive) {
        this.locomotive = locomotive;
    }
}

在每个场景运行后,我是否可以调用某种清理方法?或者是一种更好的方法来实现我想要实现的目标?

chromedriver保持打开状态,因为在实例化机车对象时,chromedriver被创建


在调用
driver.quit()
之前,它不会被终止。为此,您可以调用
机车.teardown()
机车.driver.quit()

chromedriver保持打开状态,因为在实例化机车对象时,会创建chromedriver


在调用
driver.quit()
之前,它不会被终止。为此,您可以调用
机车.teardown()
机车.driver.quit()

为什么要注入机车实例?你的测试课程不应该像在美国那样扩展吗?如果你发布一个测试/步骤类的可复制示例,可能会有意义。我正在注入机车的实例,以便在场景中的两个步骤之间共享相同的实例。如果我在每个Cucumber步骤定义类上扩展了机车,那么每个场景都会有多个机车实例。我将开始创建一个示例,这样事情就更清楚了。为什么要添加实例?你的测试课程不应该像在美国那样扩展吗?如果你发布一个测试/步骤类的可复制示例,可能会有意义。我正在注入机车的实例,以便在场景中的两个步骤之间共享相同的实例。如果我在每个Cucumber步骤定义类上扩展了机车,那么每个场景都会有多个机车实例。我将开始创建一个示例,这样事情就更清楚了。非常感谢@sircapsalot-我添加了一个场景后步骤,正好可以做到这一点。非常感谢@sircapsalot-我添加了一个场景后步骤,正好可以做到这一点。
public class BorrowerSteps {

    Locomotive locomotive;

    public BorrowerSteps(Locomotive locomotive) {
        this.locomotive = locomotive;
    }
}