Selenium Grid 2と一緒にTestNGを使用してテストを並行して実行しようとすると、問題が発生しているようです。
実行しているテストの数に合わせて適切な数のブラウザーが開かれていますが、すべてのテストのすべての命令が同じブラウザーウィンドウに対して実行されています。たとえば、各テストでページが開き、ログインが試行されます。4つのブラウザウィンドウが開きますが、1つのブラウザウィンドウがログインページに4回移動し、ユーザー名を4回入力しますが、残りのブラウザウィンドウは残ります。非活性。
グリッドを開始する方法は次のとおりです。
java -jar selenium-server-standalone-28.0.jar -role hub
java -jar selenium-server-standalone-28.0.jar -webdriver.chrome.driver="*location*/chromedriver_mac" -role node
スイートxmlの設定方法は次のとおりです。
<suite name="testng" verbose="1" parallel="classes">
<test name="chrome">
<packages>
<package name="login"/>
<package name="lists"/>
</packages>
</test>
</suite>
そして、これがテストのレイアウトの例です。
public class login_logout extends TestBase {
@Test
public void login(){
//initiates login page object and call super user login
LoginPage login = LoginPage.navigateTo(driver, base_url)
LoggedInPage loggedIn = login.superuserlogin();
}
}
テストベースは次のようにレイアウトされています。
public class TestBase {
public static WebDriver driver;
public static DesiredCapabilitiess capabilities;
@BeforeClass
public static void setUp(){
base_url = "*login page url*;
capabilities = DesiredCapabilities.chrome();
driver = new RemoteWebDriver(capabilities);
driver.get(base_url);
}
}
私が行方不明になっていることはおそらく本当に明白なことですが、助けていただければ幸いです。
前もって感謝します。