[英]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.