• [Selenium] 操作新弹出窗口之验证标题和内容


    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;

          }

        }

        ...

  • 相关阅读:
    SQL SERVER2017 安装程序无法与下载服务器联系。无法安装机器学习服务的问题解决方式
    Kali Linux无法访问网络的问题
    Vue的冒泡事件
    记录阿里云ECS(Centos7.4)安装mysql 8.0.X服务
    沧桑巨变中焕发青春活力-记极1s HC5661A 打怪升级之路
    Asp.Net MVC过滤器小试牛刀
    C# Windows Service调用IBM Lotus Notes发送邮件
    记录一些js框架用途
    vc14(vs2015) 编译php7 记录
    C++ API方式连接mysql数据库实现增删改查
  • 原文地址:https://www.cnblogs.com/feifeidxl/p/4551422.html
Copyright © 2020-2023  润新知