如果运行模式为parallel="methods"
,如何强制TestNG为每个方法创建测试类的新实例?
JUnit自动完成,但TestNG在方法之间重用相同的实例。
有没有更改此行为的选项?
我正在运行selenium测试并在@BeforeMethod
方法中创建webdriver并将其存储到类变量中以在@AfterMethod
中的测试方法和闭包中使用它。
我希望能够并行运行一个测试类的方法,而无需共享webdriver。
答案 0 :(得分:2)
没有办法强迫testng这样做。解决方案是将webdriver实例设置为threadlocal变量。这将有助于做,它将为每个线程创建一个webdriver对象,如果你做变量,它。只给你那个线程的对象。
答案 1 :(得分:1)
结帐Factory
来自javadoc:
Marks a method as a factory that returns objects that will be used by TestNG as Test classes. The method must return Object[].
答案 2 :(得分:0)
我已经使用TestNG并行运行多个selenium webdriver测试。要为每个方法设置新的WebDriver,请在@Test注释中使用@DataProvider annotation及其关联的属性。