尝试使用 TestNG 和 Selenium Grid 2 并行运行测试时,我似乎遇到了问题。
尽管打开了正确数量的浏览器以匹配我正在运行的测试数量,但所有测试的所有指令都被触发到同一个浏览器窗口。例如,每个测试将打开一个页面并尝试登录。四个浏览器窗口将打开,但一个浏览器窗口将导航到登录页面四次,然后输入用户名 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);
}
}
我错过了一些很明显的事情,但任何帮助将不胜感激。
提前致谢。