【发布时间】:2019-12-03 11:06:56
【问题描述】:
我已将 multiCapabilities 设置为运行跨浏览器测试。在启动一个测试的多个并行实例之前,我需要初始化一个全局变量,该测试可以是单个 describe() 或单个 it() 函数。然后我想在测试运行时在测试用例中使用相同的初始化全局变量。请提供一种在量角器中执行此操作的方法。因为我们可以使用@BeforeTest 或@BeforeClass 和@AfterTest 或@AfterClass 在Testng 中轻松地做同样的事情。但是在量角器中我找不到与它们相关的任何东西。并且量角器的 BeforeAll 无法正常工作,因为它运行的次数与我们在 multiCapabilities 中提供的浏览器数量一样多,为所有实例创建了多个变量而不是一个全局变量。
【问题讨论】:
-
您能否向我们提供更多关于您使用什么框架/语言的信息?例如,如果您使用 Java 或 Javascript,答案可能会大不相同。
-
@JoaquinCasco 我正在使用 Jasmine 框架和使用 node-js 的量角器。我在 node-js 中有一个库,需要在测试中使用。为此,应该为一个测试的并行实例初始化一次库的主类。这就是为什么我在启动多个实例之前需要全局实例。我尝试使用 beforeLaunch,但在我们的测试中我们无法访问在 beforeLaunch 中初始化的任何变量。
-
你不能只创建一个包含变量的目标文件并导出文件吗?
-
@JoaquinCasco 我也尝试过,但在这种情况下,两个实例获取对象值的方式不同意味着在启动浏览器之后。但我想要类似 beforeLaunch 但它的变量应该在外部访问。
标签: variables protractor global