셀레늄을 사용
(2013 년 6 월은, 셀레늄 2.33.0)는 항상하고 대신 새 창을 엽니 다. 테스트에서 새 탭이 열리면 행운을 빈다.
즉, 올바르게 새 창을 열면 Select Window
을 사용하십시오.
Select Window | url=https://twitter.com/expectedPage
을 내 작업 WebDriver (2.33.0) 코드는
Java에, 희망이 조금 도움이 될 것입니다. 설명하는 문제는 내 로봇 지식이 떨어지기 시작하는 곳입니다.
@Test
public void targetBlankLinkTest() {
// load the website and make sure only one window is opened
driver.get(file("TargetBlankLinkTest.html"));
assertEquals(1, driver.getWindowHandles().size());
// click the link and assert that a new window has been opened
driver.findElement(By.linkText("Follow us on Twitter!")).click();
Set<String> windowHandles = driver.getWindowHandles();
assertEquals(2, windowHandles.size());
// switch to the new window and do whatever you like
// (Java doesn't have Switch Window functionality that can select by URL.
// I could write it, but have been using this trick instead)
for (String handle : windowHandles) {
if (handle != driver.getWindowHandle()) {
driver.switchTo().window(handle);
}
}
assertThat(driver.getCurrentUrl(), containsString("twitter.com"));
}
감사합니다. Slanec. 그러나 적어도 새로운 브라우저 탭이 열렸는지 확인하는 방법이 있습니까? – Dave
@Dave 당신이 얻을 수있는 가장 가까운 것은 ['Get Window Identifiers'] (http://rtomac.github.io/robotframework-selenium2library/doc/Selenium2Library.html#Get%20Window%20Identifiers)입니다. 창이 열렸습니다. 나는이 목적을 위해 Java counterpart를 항상 사용한다. –
... 아니면 단순히 'Select Window' 메소드를 실행하고 그 안에 무언가를 유효화 ('Title Should Be''?)하고, 실패하면 열려 있지 않습니다. –