1)验证标题

package com.learningselenium.normalwebdriver;

import static org.junit.Assert.*;

import java.util.Set;

import org.junit.After;

import org.junit.Before;

import org.junit.Test;

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.firefox.FirefoxDriver;

public class test MultipleWindowsTile{

  WebDriver driver = new FirefoxDriver();

  @Before

  public void setUp() throws Exception{

    driver.get("http://www.w3schools.com/jsref/met_win_open.asp");

  }

  @Test

  public void testMultipleWindowsTitle() throws Exception{

    //打开父窗口,并记录下父窗口的控点

    String parentWindowId = driver.getWindowHandle();

    //验证父窗口的完整标题是Window open() Method

    assertEquals("Window open() Method", driver.getTitle());

    WebElement tryItButton = driver.findElement(By.xpath("//*[@id = \"main\"]/div[2]/a"));

    tryItButton.click();

    //获取所有打开窗口的控点列表

    Set<String> allWindowsId = driver.getWindowHandles();

    for(String windowId : allWindowsId){

      if(driver.switchTo().window(windowId).getTitle().contains("Tryit")){

        driver.switchTo().window(windowId);

        break;

      }

    }

    assertEquals("Tryit Editor v1.8", driver.getTitle());

    //通过父窗口的控点再次切换回原父窗口,并再次验证其完整标题为Window open() Method,确认此处窗口切换成功

    driver.switchTo().window(parentWindowId );

    assertEquals("Window open() Method", driver.getTitle());

  }

  @After

  public void tearDown() throws Exception{

    driver.quit();

  }

}

2)验证内容

    ...

    for(String windowId : allWindowsId){

      if(driver.switchTo().window(windowId).getPageSource().contains("open a new brower window")){

        driver.switchTo().window(windowId);

        break;

      }

    }

    ...

[Selenium] 操作新弹出窗口之验证标题和内容的更多相关文章

  1. java selenium (十二) 操作弹出窗口

    selenium 中如何处理弹出窗口 阅读目录 原理 在代码里, 通过         Set<String> allWindowsId = driver.getWindowHandles ...

  2. [selenium webdriver Java]处理弹出窗口

    Selenium WebDriver测试弹出窗口,包括识别弹出窗口,将driver转到新的窗口,在新的串钩中执行而是步骤,然后再转换到最初的窗口. 通过名称(name)识别和处理: Selenium ...

  3. selenium webdriver学习(六)------------如何得到弹出窗口

    selenium webdriver学习(六)------------如何得到弹出窗口 在selenium 1.X里面得到弹出窗口是一件比较麻烦的事,特别是新开窗口没有id.name的时候.当时还整理 ...

  4. 【Android】百度地图自定义弹出窗口

    我们使用百度地图的时候,点击地图上的Marker,会弹出一个该地点详细信息的窗口,如下左图所示,有时候,我们希望自己定义这个弹出窗口的内容,或者,干脆用自己的数据来构造这样的弹出窗口,但是,在百度地图 ...

  5. Java Selenium (十二) 操作弹出窗口 & 智能等待页面加载完成 & 处理 Iframe 中的元素

    一.操作弹出窗口   原理 在代码里, 通过 Set<String> allWindowsId = driver.getWindowHandles(); 来获取到所有弹出浏览器的句柄, 然 ...

  6. Selenium常用操作汇总二——如何得到弹出窗口

    在selenium 1.X里面得到弹出窗口是一件比较麻烦的事,特别是新开窗口没有id.name的时候.当时还整理了处理了几种方法,详见:http://seleniumcn.cn/read.php?ti ...

  7. QUI操作超时弹出登录窗口登录的处理方式

    在使用QUI开发的业务系统中,如果长时间没操作,session过期后,再次操作系统超时会自动跳转到登陆页面,如果当前有一些操作没有保存,需要重新登录后再次填写信息,用户体验很不好! 为了避免超时后页面 ...

  8. selenium处理弹出窗口

    在selenium ui自动化测试过程中,经常会遇到,弹出新窗口,那么会对我们元素定位造成哪些影响呢? 1.元素id或xpath;name都没有问题,就是定位不到. 那如何解决呢?没错webdrive ...

  9. JavaScript BOM-11-BOM的核心-window对象; window对象的控制,弹出窗口方法; 超时调用; 间歇调用; location对象常用属性; 位置操作--location.reaplace,location.reload(); BOM中的history对象; Screen对象及其常用属性; Navigator对象;

    JavaScript BOM 学习目标 1.掌握什么是BOM 2.掌握BOM的核心-window对象 3.掌握window对象的控制.弹出窗口方法 什么是bom BOM(browser object ...

随机推荐

  1. hdu 1224 最长路

    开始用dijkstra直接求,发现不行,算法问题(1-2,(30),2-4(20),1--3(10),3--4(100)最后一个点无法更新,导致错误),后用取负,加大数法也没过. 现在(寒假了):求负 ...

  2. (2)Swing窗体基本设置

    import javax.swing.*; import javax.swing.plaf.FontUIResource; import java.awt.*; import java.util.En ...

  3. codeforces edu40

    H(dp计数) 题意: 有一颗树,最深的点的深度是n,每个深度为i的点都有ai个孩子. 对于1<=k<=2n-2,回答树上有多少点对之间的距离是k,答案对1e9+7取模 n<=500 ...

  4. XCTFreverse第一道DMD

    MD5解一次密即可

  5. Cocoa开发中, 如何用全局变量

    比如在tabbar的开发中,可以某个页面的数据需要在back到此页面后依然有效. 可以用 appDelegate 这个对象来创建你的全局数据 这个内建的对象,在 APP 启动时产生,在 APP 退出时 ...

  6. 【mac】mac上安装JDK

    安装步骤就是在Oracle官网下载你想要的JDK版本下载,下载的时候同意协议即可 这里就给出jdk安装的位置 还有一点要注意的是,在指定JVM的位置的时候,需要指定到home目录下

  7. 【kotlin】long转化为date类型 或者date字符串

    1.方法体中的 package org.joda.time.DateTime(long类型) fun Long?.toDateTime() = if (null != this) DateTime(t ...

  8. HDU - 4630 No Pain No Game (线段树 + 离线处理)

    id=45786" style="color:blue; text-decoration:none">HDU - 4630 id=45786" style ...

  9. 制作ubuntu U盘安装盘

    sudo dd if=ubuntu.iso of=/dev/sdb2 sudo syslinux /dev/sdb1

  10. 怎样高速地安装Ubuntu SDK

    我在先前的文章"Ubuntu SDK 安装"中已经具体地介绍了怎样安装Ubuntu SDK.可是非常多的开发人员可能在最后安装SDK所须要的chroots时候会失败.这里面的原因是SDK在安装chro ...