硒不支持選項卡(如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對象。 –
...或者簡單地做'選擇窗口'方法並驗證它的內容('標題應該'),如果失敗了,它還沒有被打開。 –