Здравствуйте!
Сделал следующим образом:
XML:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="IE test suite" parallel="tests" thread-count="1">
<test name="IE10">
<parameter name="browser" value="IE10"/>
<packages>
<package name="com.redmine.tests"/>
</packages>
</test>
<test name="IE11">
<parameter name="browser" value="IE11"/>
<packages>
<package name="com.redmine.tests"/>
</packages>
</test>
</suite>
BasicTestCase:
public class BasicTestCase {
protected static WebDriver driver;
@Parameters({"browser"})
@BeforeTest
public static WebDriver getDriverInstance (String browser)
{
WebDriver driver=null;
if(browser.equals("IE10"))
{
DesiredCapabilities capabilityIE10 = DesiredCapabilities.internetExplorer();
capabilityIE10.setBrowserName("internet explorer");
capabilityIE10.setVersion("10");
try {
driver = new RemoteWebDriver(new URL("http://192.168.1.148:4444/wd/hub"), capabilityIE10);
} catch (MalformedURLException e) {
e.printStackTrace();
}
driver.manage().timeouts().implicitlyWait(Long.parseLong(ConfigProperties.getProperty("imp.wait")), TimeUnit.SECONDS);
}
else if(browser.equals("IE11"))
{
DesiredCapabilities capabilityIE11 = DesiredCapabilities.internetExplorer();
capabilityIE11.setBrowserName("internet explorer");
capabilityIE11.setVersion("11");
try {
driver = new RemoteWebDriver(new URL("http://192.168.1.148:4444/wd/hub"), capabilityIE11);
} catch (MalformedURLException e) {
e.printStackTrace();
}
driver.manage().timeouts().implicitlyWait(Long.parseLong(ConfigProperties.getProperty("imp.wait")), TimeUnit.SECONDS);
}
return driver;
}
@AfterTest
public void tearDown() throws Exception {
if (driver != null)
driver.quit();
}
}
LoginTest
public class LoginTest extends BasicTestCase {
private LoginPage loginPage = PageFactory.initElements(driver, LoginPage.class);
private HomePage homePage;
@Test
public void testUntitled() throws Exception {
loginPage.open();
homePage = loginPage.loginAs(admin);
AssertJUnit.assertTrue(homePage.isLoggedIn());
homePage.logout();
AssertJUnit.assertTrue(homePage.isLoggedOut());
}
}
Не знаю, следовало ли сюда пихать весь код.
Но проблема в следующем:
На каждой виртуалке (в данном случае их две) запускается по одному разу тест, но останавливается на запуске браузера IE.
В браузере следующий текст:
This is the initial start page for the WebDriver server.
В консоли ноды следующее:
Listening on port 10467
02:01:38.050 INFO - Done: [new session: Capabilities [{platform=WINDOWS, ensureC
leanSession=true, browserName=internet explorer, version=11}]]
02:01:38.060 INFO - Executing: [implicitly wait: 10000])
02:01:38.070 INFO - Done: [implicitly wait: 10000]
Через пять минут браузер закрывается:
02:06:38.176 INFO - Executing: [delete session: cf972031-dc0e-468a-be3a-9621af3d
33e6])
02:06:39.418 INFO - Done: [delete session: cf972031-dc0e-468a-be3a-9621af3d33e6]
Читал про Protected Mode. На всех зонах проставил Enable Protected Mode - не помогло.
Сам тест запускаю как Run As -> Run Configuration -> TestNG -> В поле Suite выбираю файл xml testng.xml
В чем может быть проблема?