gpt4 book ai didi

selenium - Robot Framework 验证打开了一个新的浏览器选项卡

转载 作者:行者123 更新时间:2023-12-05 01:08:22 26 4
gpt4 key购买 nike

对于我们页面上的一些网络链接,有外部链接可以引导用户说 Facebook 和 Twitter。这些链接使用 HMTL 标签 target="_blank"以便为我们的 Twitter 页面打开一个新的浏览器选项卡。

我想验证 1. 新浏览器选项卡已打开,2. 将焦点设置为它,3. 验证新浏览器选项卡中的页面元素。一旦我专注于它,#3 部分就很容易了。但是,任务 #1 和 #2,我无法弄清楚,也找不到任何人在谈论这个。

使用 Selenium2Library (WebDriver)

最佳答案

Selenium 不支持选项卡(截至 2013 年 6 月,Selenium 2.33.0)并且总是打开新窗口。如果您的测试打开了一个新标签,祝您好运。

也就是说,如果它正确打开一个新窗口,请使用 Select Window .

Select Window | url=https://twitter.com/expectedPage

我在 Java 中工作的 WebDriver (2.33.0) 代码,希望它会有所帮助。你所描述的问题是我的机器人知识开始下降的地方。

@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"));
}

关于selenium - Robot Framework 验证打开了一个新的浏览器选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17225911/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com