Сейчас у меня такая вот фигня:
Usage в коде такой:
public class TestBaseGrid {
protected RemoteWebDriver rmtWebDriver;
protected ThreadLocal<RemoteWebDriver> threadDriver = new ThreadLocal<RemoteWebDriver>();;
protected GridDriver gridDriver;
@Parameters({ "browserName" })
@BeforeMethod
public void init(String browserName) throws Exception {
gridDriver = new GridDriver();
rmtWebDriver = gridDriver.getInstance(browserName);
threadDriver.set(rmtWebDriver);
getDriver().manage().timeouts()
.implicitlyWait(30, TimeUnit.SECONDS);
}
@AfterMethod
public void reopenApp() throws Exception {
getDriver().close();
}
@AfterSuite
public void reopenApp1() throws Exception {
// HERE IS NULL !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//System.out.println(getDriver());
}
public WebDriver getDriver() {
return threadDriver.get();
}
@Test
// frames example
public void simpleRemoteDriverTest1() {
try {
getDriver().get("http://www.lits.com.ua");
getDriver().findElement(
By.xpath("//a[contains(@class,'red-btn-small')]")).click();
getDriver().switchTo().frame(
getDriver().findElement(By.id("JotFormIFrame")));
Assert.assertTrue(getDriver().findElement(By.id("input_4_area"))
.getAttribute("placeholder").equals("067"));
} catch (Exception e) {
} finally {
//getDriver().switchTo().defaultContent();
}
}
@Test
// Select example
public void simpleRemoteDriverTest2() throws InterruptedException {
getDriver().get("http://www.auto.ria.ua");
Select autoType = new Select(getDriver().findElement(
By.id("select_auto_used_bodystyle")));
autoType.selectByIndex(5);
Assert.assertTrue(autoType.getOptions().size() == 12);
Thread.sleep(5000);
}
@Test
// Explicit Waiters examples
public void simpleRemoteDriverTest3() throws IOException,
InterruptedException {
getDriver().get("http://google.com.ua/");
getDriver().findElement(By.name("q")).sendKeys("LQAS" + "\n");
WebDriverWait wait = new WebDriverWait(getDriver(), 15);
wait.until(ExpectedConditions.textToBePresentInElement(getDriver()
.findElement(By.id("resultStats")), "000"));
Assert.assertTrue(getDriver().findElements(By.xpath("//h3")).get(0)
.getText().contains("Lviv"));
}
}
и xml файл:
<?xml version="1.0" encoding="UTF-8"?>
<suite name="General test suite" parallel="tests" thread-count="4">
<tests>
<test name="SingleTestSuite2" parallel="tests" thread-count="3">
<parameter name="browserName" value="firefox" />
<classes>
<class name="grid.selenium.test.TestBaseGrid" />
</classes>
</test>
<test name="SingleTestSuite1" parallel="tests" thread-count="3">
<parameter name="browserName" value="chrome" />
<classes>
<class name="grid.selenium.test.TestBaseGrid" />
</classes>
</test>
</tests>
</suite>
Вопрос - как передавать браузери просто как то через запятую, или как то так что б их не получать с xml-лки , а то дубликат получаеться…?