zoukankan      html  css  js  c++  java
  • selenium 消息框元素定位处理

    以下内容来自于“风少”的博客 《元素定位:selenium消息框处理 (alert、confirm、prompt)》

    基础普及

    alert对话框 。细分三种,Alert,prompt,confirm

    1. alert() 弹出个提示框 (确定)
    警告消息框 alert 方法有一个参数,即希望对用户显示的文本字符串。该字符串不是 HTML 格式。该消息框提供了一个“确定”按钮让用户关闭该消息框,并且该消息框是模式对话框,也就是说,用户必须先关闭该消息框然后才能继续进行操作。

    2. confirm() 弹出个确认框 (确定,取消)
    确认消息框 使用确认消息框可向用户问一个“是-或-否”问题,并且用户可以选择单击“确定”按钮或者单击“取消”按钮。confirm 方法的返回值为 true 或 false。该消息框也是模式对话框:用户必须在响应该对话框(单击一个按钮)将其关闭后,才能进行下一步操作。

    3. prompt() 弹出个输入框(确定,取消)

    提示消息框 提供了一个文本字段,用户可以在此字段输入一个答案来响应您的提示。该消息框有一个“确定”按钮和一个“取消”按钮。如果您提供了一个辅助字符串参数,则提示消息框将在文本字段显示该辅助字符串作为默认响应。否则,默认文本为 "<undefined>"。

    selenium处理:

    alert() 提示框

    1. driver.switchTo().alert(); 获取alert

    2. alert.accept(); 点确定

    3. alert.dismiss(); 点取消

    4. alert.getText();获取alert的内容

    1. alert() 

    1
    2
    3
    4
    5
    6
    7
    8
    9
    try{
          Alert alert =driver.switchTo().alert();  //使用driver.switchTo().alert()方法获取到alert对象
          Assert.assertEquals("弹框实际文本", alert.getText()); //断言弹框文本是否和预期一致
          alert.accept(); //点击确定 
          // alert.dismiss();  //点击取消
      }catch(NoAlertPresentException exception){ //弹框未显示,则跑出异常
          Assert.fail("尝试操作的alert框没有被找到");
          exception.printStackTrace();
      }

    2. confirm()     ps:同alert一致

    1
    2
    3
    4
    5
    6
    7
    8
    9
    try{
          Alert alert =driver.switchTo().alert(); 
          Assert.assertEquals("弹框实际文本", alert.getText());
          alert.accept();
          // alert.dismiss();
      }catch(NoAlertPresentException exception){
          Assert.fail("尝试操作的alert框没有被找到");
          exception.printStackTrace();
      }

      

    3. prompt() 

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    try{
          Alert alert =driver.switchTo().alert(); 
          Assert.assertEquals("弹框实际文本", alert.getText());
           
          alert.sendKeys("promt框中输入的内容");
          alert.accept();
          // alert.dismiss();
      }catch(NoAlertPresentException exception){
          Assert.fail("尝试操作的alert框没有被找到");
          exception.printStackTrace();
      }

     

  • 相关阅读:
    eslint 屏蔽html的检查
    css 自定义悬浮窗写法
    echarts象形图图例显示问题
    win10上rocketMQ的部署过程
    死锁以及如何避免死锁
    volatile的一个例子-通俗易懂
    Java四种引用类型
    记录下:安全|API接口安全性设计(防篡改和重复调用)
    了解聚集索引,非聚集索引,联合索引,索引覆盖
    mybatis 查询树形结构
  • 原文地址:https://www.cnblogs.com/houzhizhe/p/9883772.html
Copyright © 2011-2022 走看看