我建议您将pico-container用作要与一起使用的依赖项注入框架
cucumber-jvm。
使用PicoContainer,您可以使用WebDriver实例创建一个“基”类,然后将该基类自动地传递给任何其他类。或者,如果您愿意,甚至可以直接通过Web驱动程序。
<dependency> <groupId>info.cukes</groupId> <artifactId>cucumber-picocontainer</artifactId> <version>1.2.3</version> <scope>test</scope></dependency>
例:
具有WebDriver实例的基类:
public class ContextSteps { private static boolean initialized = false; private WebDriver driver; @Before public void setUp() throws Exception { if (!initialized) { // initialize the driver driver = = new FirefoxDriver(); initialized = true; } } public WebDriver getDriver() { return driver; }}
其他通过pico-container DI访问webDriver的类。
public class OtherClassSteps { private ContextSteps contextSteps; // PicoContainer injects class ContextSteps public OtherClassSteps (ContextSteps contextSteps) { this.contextSteps = contextSteps; } @Given("^Foo step$") public void fooStep() throws Throwable { // Access WebDriver instance WebDriver driver = contextSteps.getDriver(); }}
希望能帮助到你。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)