[英]How to run Selenium in parallel using TestNG?
我正在尝试并行运行两个属于同一类的方法。 我的代码启动了两个单独的浏览器,但是当第一种方法完成时,它会终止另一个浏览器,而不是终止该特定浏览器。
方法A-浏览器A-说需要20秒
方法B-浏览器B-说需要40秒
方法A完成后,它将杀死浏览器B而不是浏览器A。
这是我的代码:
public class AccountTest {
private WebDriver driver;
@BeforeMethod(alwaysRun=true)
public void initializeDriver() throws MalformedURLException {
driver = new FirefoxDriver();
driver.manage().deleteAllCookies();
driver.manage().window().maximize();
}
@Test(groups="Login")
public void loginTest() {
HomePage homePage = new HomePage(driver);
SignInPage signInPage = homePage.signIn();
signInPage.signIn("test_user0401@fakemail.com", "abcd1234");
}
@Test(groups="Register")
public void registerTest() {
HomePage homePage = new HomePage(driver);
SignInPage signInPage = homePage.signIn();
RegisterPage registerPage = signInPage.register();
registerPage.register();
}
@AfterMethod(alwaysRun=true)
public void tearDown() {
driver.quit();
}
}
这是我的testng.xml:
<suite name="Automation Suite" parallel="methods" verbose="10">
<test name="AccountTest">
<classes>
<class name="com.selenium.test.AccountTest"/>
</classes>
</test>
</suite>
我目前不使用网格。 试图在本地进行这项工作,但是我将开始使用Saucelabs进行并行测试。
你知道怎么了吗
提前致谢
TestNG只会实例化您的课程一次。 因此,每次运行@BeforeMethod
方法时,驱动程序字段都会被覆盖。
要更改此设置,可以并行运行类,也可以设置@DataProvider
传入驱动程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.