我正在尝试并行运行属于同一类的两种方法。我的代码启动了两个单独的浏览器,但是当第一个方法完成时,它并没有杀死那个特定的浏览器,而是杀死了另一个浏览器。
方法 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>
我目前没有使用 Grid。试图在我的本地进行这项工作,但我将开始使用 Saucelabs 来运行并行测试。
你知道有什么问题吗?
提前致谢