操作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. 46 What Is Real Happiness ? 什么是真正的幸福 ?

    46 What Is Real Happiness ? 什么是真正的幸福 ? ①The way people hold to the belief that a fun-filled, pain-fr ...

  2. SQL之mysql常用操作语句(入门级)

    1.进入数据库: mysql -u root -p mysql -h localhost -u root -p database_name 2.列出数据库 show databases; 3.选择数据 ...

  3. Mac pro 安装IntelliJ IDEA 2017版

    1.官网下载这个版本https://www.jetbrains.com 2.点击下载即可 3.下载好后放入本地 4.启动mac终端进行破解 输入命令:sudo vim /private/etc/hos ...

  4. ArcGIS Desktop Python add-ins 插件类型

    Python可以在ArcGIS 桌面程序中创建如下的插件类型: 插件类型 描述 按钮(button) 是一个简单功能定制形式,可以在点击情况下执行一些业务逻辑.它会执行一个或一系列的动作.按钮可以放在 ...

  5. VUE(现代库) VS jquery(传统库)

      众所周知最近几年前端发展非常的迅猛,除各种框架如:backbone.angular.reactjs外,还有模块化开发思想的实现库:sea.js .require.js .webpack以及 前端上 ...

  6. Mybatis中的update动态SQL语句

    Mybatis中的CRUD操作(增删改查)中,简单的SQL操作比较直观,如查找操作: <select id="findBySrcId" resultMap="ent ...

  7. (连通图 模板题 无向图求割点)Network --UVA--315(POJ--1144)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  8. HDU6029 Graph Theory 2017-05-07 19:04 40人阅读 评论(0) 收藏

    Graph Theory                                                                 Time Limit: 2000/1000 M ...

  9. hdu 1163 Eddy's digital Roots 【九余数定理】

    http://acm.hdu.edu.cn/showproblem.php?pid=1163 九余数定理: 如果一个数的各个数位上的数字之和能被9整除,那么这个数能被9整除:如果一个数各个数位上的数字 ...

  10. MathJax $TeX$ Test Page

    MathJax TeX Test Page When $a \ne 0$, there are two solutions to \(ax^2 + bx + c = 0\) and they are ...