我正在使用Page对象模型来自动化我的测试用例。我在哪里与黄瓜融为一体。 现在在Cucumber Step定义文件中我使用了: @之前 - 这里我正在初始化驱动程序对象 - 并将此驱动程序对象传递给每个页面。
@After - 我在这里关闭我的司机。
在其他胶水代码中,我正在写我的逻辑。
现在我面临的问题是,当我想将Step Definition文件拆分为两个时。我遇到问题,因为第二步定义文件没有@Before注释,它没有得到驱动程序对象。
如果我在第二个中添加@Before,那么将创建两个驱动程序实例。我们不想要的。 你能帮我解决这个问题吗?
答案 0 :(得分:1)
您需要能够在步骤定义文件之间共享状态。在Java中执行此操作的惯用方法是使用依赖注入。
我已经写了几篇关于在Cucumber中使用以下步骤分享状态的主题的博文:
答案 1 :(得分:0)
您需要使用cucumber-jvm支持的依赖注入模块之一来共享步骤之间的WebDriver。 https://cucumber.io/docs/reference/java-di
最简单的是PicoContainer,您可以在此link找到如何配置。