0

我在 BDD 中有两个规范。有一些示例如何使用“DriverFactory”中的中央静态变量(示例)管理单个 selenium 驱动程序。

只要您不并行运行多个规范,那就太好了。如果你这样做了,那么不同的规格会混淆,因为它们使用的是相同的驱动程序。

这实际上是因为规范需要映射到驱动程序,Java 代码与规范无关。换句话说,任何规范都可以调用任何 Java 代码。因此,您无法实例化完全映射到规范并具有本地驱动程序的类。

有人遇到过这个吗?

要克服的一个想法是拥有一个带有驱动程序数组的“DriverFactory”,映射到规范。但这意味着使用驱动程序的 Java 步骤需要知道它正在执行的规范的上下文。

4

1 回答 1

0

由于 [getgauge] 标记和引用的示例,我假设您正在使用 Gauge。

Gauge 的并行执行并行执行每个规范。推荐的方法是不让规范共享状态/资源,如果必须,使它们成为线程安全的。

此示例使用静态方法,在请求时Driverfactory.getDriver初始化一个新方法。Driver在此设置中,每个规范都将获得一个新的驱动程序实例。这对你的案子有帮助吗?

于 2018-04-09T02:01:47.050 回答