操作JavaScript的Alert窗口

  测试网址代码 

  <html>
    <head>
      <title>你喜欢的水果</title>
    </head>
    <body>
      <input id='button' type='button' onclick="alert('这是一个alert弹窗');" value='单击此按钮,弹出alert弹出窗'/></input>
    </body>
  </html>

  Java语言版本API实例 

  @Test
  public void testHandleAlert() {
    driver.manage().window().maximize();
    driver.get(url);
    WebElement button = driver.findElement(By.xpath("//input"));
    button.click();
    try {
      //使用driver.switchTo.alert()方法获取Alert对象
      Alert alert = driver.switchTo().alert();
      //断言判断
      Assert.assertEquals("这是一个alert弹窗", alert.getText());
      alert.accept();
    } catch (NoAlertPresentException exception) {
      Assert.fail("尝试操作的alert框未被找到");
      exception.printStackTrace();
    }
  }

  操作JavaScript的confirm窗口

  测试网址代码 

  <html>
    <head>
      <title>你喜欢的水果</title>
    </head>
    <body>
      <input id='button' type='button' onclick="confirm('这是一个confirm弹窗');" value='单击此按钮,弹出confirm弹出窗'/></input>
    </body>
  </html>

  Java语言版本API实例 

  @Test
  public void testHandleconfirm() {
    driver.manage().window().maximize();
    driver.get(url);
    WebElement button = driver.findElement(By.xpath("//input"));
    button.click();
    try {
      Alert alert = driver.switchTo().alert();
      Assert.assertEquals("这是一个confirm弹窗", alert.getText());
      alert.accept();
    } catch (NoAlertPresentException exception) {
      Assert.fail("尝试操作confirm未被找到");
      exception.printStackTrace();
    }
  }

  操作JavaScript的prompt窗口

  测试网址代码 

  <html>
    <head>
      <title>你喜欢的水果</title>
    </head>
    <body>
      <input id='button' type='button' onclick="prompt('这是一个prompt弹窗');" value='单击此按钮,弹出prompt弹出窗'/></input>
    </body>
  </html>

  Java语言版本API实例 

  @Test
  public void testHandlePrompt() {
    driver.manage().window().maximize();
    driver.get(url);
    WebElement button = driver.findElement(By.xpath("//input"));
    button.click();
    try {
      Alert alert = driver.switchTo().alert();
      Assert.assertEquals("这是一个prompt弹窗", alert.getText());
      //在prompt弹窗上输入内容
      alert.sendKeys("selemiun");
      //点击prompt上的确定按钮
      alert.accept();
      //alert.dismiss(); 取消按钮
    } catch (NoAlertPresentException exception) {
      Assert.fail("未找到prompt窗口");
      exception.printStackTrace();
    }
  }

WebDriverAPI(9)的更多相关文章

  1. WebDriverAPI(7)

      查看页面元素的属性 测试网址 http://www.baidu.com Java语言版本API实例 @Test public void getWebElementAttribute() { dri ...

  2. WebDriverAPI(10)

    操作Frame页面元素 测试网址代码 frameset.html: <html> <head> <title>frameset页面</title> &l ...

  3. WebDriverAPI(4)

    单击某个元素 采用元素id.click()方法即可 双击某个元素id.doubleClick 操作单选下拉列表 测试网页HTML代码 <html> <body> <sel ...

  4. WebDriverAPI(2)

    操作浏览器窗口 被测网址http:http://www.baidu.com Java语言版本的API实例代码 String url = "http://www.baidu.com" ...

  5. WebDriverAPI(8)

    判断页面元素是否存在 测试网址 http://www.baidu.com Java语言版本API实例 @Test public void testIsElementPresent(){ driver. ...

  6. WebDriverAPI(6)

    在指定元素上方进行鼠标悬浮 测试网址 http://www.baidu.com Java语言版本实例 @Test public void roverOnElement() { driver.manag ...

  7. WebDriverAPI(5)

    将当前浏览器截屏 测试网址 http://www.baidu.com Java语言版本实例 @Test public void captureScreenInCurrentWindows() { dr ...

  8. WebDriverAPI(3)

    获取页面的Title属性 被测网址http:http://www.baidu.com Java语言版本的API实例代码 String url = "http://www.baidu.com& ...

  9. WebDriverAPI(1)

    访问某网页地址 被测网址http:http://www.baidu.com Java语言版本的API实例代码 方法一: @Test public void visitURL(){ String bas ...

随机推荐

  1. Vue2.0+ElementUI+PageHelper实现的表格分页

    Vue2.0+ElementUI+PageHelper实现的表格分页 前言 最近做了一些前端的项目,要对表格进行一些分页显示.表格分页的方法有很多,从宏观上来说分为物理分页和逻辑分页,由于逻辑分页(即 ...

  2. 2018.06.29 NOIP模拟 旅馆(线段树)

    旅馆 [问题描述] OIEROIEROIER 们最近的旅游计划,是到长春净月潭,享受那里的湖光山色,以及明 媚的阳光.你作为整个旅游的策划者和负责人,选择在潭边的一家著名的旅馆住 宿.这个巨大的旅馆一 ...

  3. 2018.09.20 atcoder Painting Graphs with AtCoDeer(tarjan+polya)

    传送门 一道思维题. 如果没有环那么对答案有k的贡献. 如果恰为一个环,可以用polya求贡献. 如果是一个有多个环重叠的双联通的话,直接转化为组合数问题(可以证明只要每种颜色被选取的次数相同一定可以 ...

  4. mysql图文安装教程(win7 32位 亲测)

    一.下载mysql:http://www.mysql.com/downloads/ 弹出: 你需要有一个 Oracle Web 帐户,没有的话,注册一个: 勾选许可: 输入搜索条件: 下载MySQL ...

  5. spring @Transactional 声明式事务

    项目地址:git@github.com:witaste/transaction-annotation.git 情景一: A external method calls a method of the ...

  6. c++中sort()及qsort()的用法总结

    当并算法详解请见点我 想起来自己天天排序排序,冒泡啊,二分查找啊,结果在STL中就自带了排序函数sort,qsort,总算把自己解脱了~ 所以自己总结了一下,首先看sort函数见下表: 函数名 功能描 ...

  7. ORACLE 管道技术应用

    但是使用管道函数的时候是可以返回一个package里面定义的type的. create or replace package test_typeis    type test_type_record ...

  8. Difference between the Bill of distribution and sourcing rule.

        https://forums.oracle.com/thread/936768 This is from a users guide  Oracle Supply Chain Planning ...

  9. 微软官方实例 RazorPagesMovie 在 asp.net core 2.1 版本下的实战

    微软官方实例 RazorPagesMovie 在 asp.net core 2.1 版本下的实战 友情提示: 操作系统: MacOS 10.13.5 dotnet core: version 2.1. ...

  10. json--pyton中obj与json的互转,js中obj与json的互转

    json 解释:json是一种跨平台的通用的数据格式 python中对象(obj)与json之间的相互转换 1.对象(obj)转json格式的字符串 json.dumps(res) res = () ...