如果运行模式是,如何强制 TestNG 为每个方法创建新的测试类实例parallel="methods"
?
JUnit 会自动执行此操作,但 TestNG 在方法之间重用相同的实例。
有没有办法改变这种行为?
我正在运行 selenium 测试并在@BeforeMethod
方法中创建 webdriver 并将其存储到类变量中以在测试方法中使用它并关闭@AfterMethod
.
而且我希望能够在不共享 webdriver 的情况下并行运行一个测试类的方法。
没有办法强制 testng 这样做。一种解决方案是将 webdriver 实例设置为 threadlocal 变量。这将有助于做的是,它会为每个线程创建一个 webdriver 对象,如果你对变量进行 get 操作,它。只会给你那个线程的对象。
我使用 TestNG 并行运行多个 selenium webdriver 测试。要为每个方法设置一个新的 WebDriver,请使用 @DataProvider注释及其在 @Test 注释中的关联属性。