Selenium - 如何获取窗口中打开的标签数量?

时间:2016-02-27 21:56:18

标签: java selenium selenium-webdriver browser window-handles

我的测试用例:

  1. 打开浏览器并访问网址
  2. 点击首页上的链接 - >这将打开一个新窗口/新选项卡。
  3. 返回主页。
  4. 点击其他链接。
  5. 确保新内容显示在步骤2中之前打开的子窗口/子选项卡上。
  6. 我可以通过获取窗口句数来检查打开的窗口数,并声明它等于2 - 以确保在单击第二个链接时,内容在同一子窗口刷新并且不会打开窗口。打开另一个新窗口。

    如果链接在新选项卡中打开,我该如何检查此测试用例(首次在主页上单击链接时打开新选项卡。进一步单击主页上的任何链接,内容将在相同的新标签)?有没有办法计算窗口中的标签数量?

    或者selenium是否强制将新标签打开为新窗口?

2 个答案:

答案 0 :(得分:2)

要在窗口中打开标签数量

    ArrayList<String> multipleTabs = new ArrayList<String>   (robot.getWebDriver().getWindowHandles());

获得arraylist的大小,即计数值

    System.out.println(multipleTabs.size());

因此,窗口中打开的标签数量只是上面数组列表的大小

答案 1 :(得分:1)

转到主页并单击链接以打开新选项卡/窗口。然后编写以下代码:

ArrayList<String> tabs = new ArrayList<String>(driver.getWindowHandles());
System.out.println("No. of tabs: " + tabs.size());

OR,

Set<String> allWindowHandles = driver.getWindowHandles();
ArrayList<String> tabs = new ArrayList<String>(allWindowHandles);
System.out.println("No. of tabs: " + tabs.size());