如何强制TestNG的每个方法创建测试类的新实例,如果运行模式是平行=“方法”(How to for

2019-07-23 11:18发布

如何强制TestNG的创建测试类每种方法的新实例,如果运行模式是parallel="methods"

JUnit的自动执行,但TestNG的重用方法之间的相同的实例。

是否有任何选项来改变这种行为?

我运行硒测试,并在创建的webdriver @BeforeMethod方法,并将其存储于类变量,在测试方法和CLOS使用它@AfterMethod

我想有并行运行一个测试类的方法,而没有共享的webdriver能力。

Answer 1:

有没有办法强迫TestNG的做到这一点。 一种解决方案是实例的webdriver设置为一个ThreadLocal变量。 什么这将有助于做的是,它将每个线程创建一个webdriver的对象,如果u的变量做一个GET,它。 只能作罢该线程的对象。



Answer 2:

结帐厂

从的Javadoc :

Marks a method as a factory that returns objects that will be used by TestNG as Test classes. The method must return Object[].


Answer 3:

我已经使用TestNG的并行运行多个硒的webdriver测试。 要建立一个新的webdriver每种方法,使用@dataProvider 注释和@Test标注其关联的属性。



文章来源: How to force TestNG create new instance of test class for each method if run mode is parallel=“methods”