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;
}
}