• selenium IDE处理各种窗口问题解决方法


    一、处理模态窗口:showModalDialog

    由于弹出模态窗口后,就无法定位到当前窗口的元素和模态窗口的元素,需要添加js解决

    模态窗口动作类似下面语句:

    <input id="ctl00_CPH_TopAddButton" class="LongOrangeButtonStyle" type="button" value="Add Single Location" onclick="javascript:window.showModalDialog('EditLocation.aspx?EditOrAdd=Add',window,'dialogWidth:450px;dialogHeight:600px;status:no; directories:yes;scrollbars:no;Resizable=no;status:no');RefreshLocation();" name="ctl00$CPH$TopAddButton">

     此时,在生成模态窗口前, 先执行语句:

    storeEval  if(selenium.browserbot.getCurrentWindow().showModalDialog){selenium.browserbot.getCurrentWindow().showModalDialog = function(sURL,vArguments,sFeatures){selenium.browserbot.getCurrentWindow().open(sURL, 'modal', sFeatures);};}  xx

     再点击

    click 

    id=ctl00_CPH_TopAddButton

       

    则会以新页面形式弹出,就不会定位不到元素

    操作完新页面后,执行下面2个语句,回到主窗口。

    close    
    selectWindow null  

    二、处理confirm/alert/prompts弹出窗口

     处理方式如下:

    相应示例代码如下:

    <!DOCTYPE HTML>
    <html lang="zh-cn">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>主窗口</title>
      <script type="text/javascript">
        function output(resultText){
          document.getElementById('output').childNodes[0].nodeValue=resultText;
        }
    
        function show_confirm(){
          var confirmation=confirm("Choose an option.");
          if (confirmation==true){
            output("Confirmed.");
          }
          else{
            output("Rejected!");
          }
        }
    
        function show_alert(){
          alert("I'm blocking!");
          output("Alert is gone.");
        }
        function show_prompt(){
          var response = prompt("What's the best web QA tool?","Selenium");
          output(response);
        }
       </script>
    </head>
    <body>
    
      <input type="button" id="btnConfirm" onclick="show_confirm()" value="Show confirm box" /></br>
      <input type="button" id="btnAlert" onclick="show_alert()" value="Show alert" /></br>
      <input type="button" id="btnPrompt" onclick="show_prompt()" value="Show prompt" /> </br>
      <br />
      <span id="output">
      </span>
    </body>
    </html>
  • 相关阅读:
    [转]:Android 5.0的调度作业JobScheduler
    Android 移动端数据结构
    算法-二分查找
    设计模式-设计原则
    设计模式-单例模式(Singleton Pattren)(饿汉模式和懒汉模式)
    Android 7.0 Dialog 无法显示的问题
    设计模式-装饰模式(Decorator Pattern)
    产品中心2
    java中static和final修饰符
    java访问修饰符
  • 原文地址:https://www.cnblogs.com/jenniferhuang/p/3421882.html
Copyright © 2020-2023  润新知