zoukankan      html  css  js  c++  java
  • robotframework+Selenium2Library 模态窗口的处理

    所谓模态窗口,就是指除非采取有效的关闭手段,用户的鼠标焦点或者输入光标将一直停留在其上的对话框。(说白了,就是弹出了模态窗口之后,后面的窗口无法被点击)

    这里有个demo页面
    http://www.robotframework.net/ ... alogA

    对于window.showModalDialog()模式打开的新窗口 Eg.点击“支付详情”的“详情”,出来一个新页面。如何定位呢?单纯的select window title=payDetail page  是定位不到新窗口的。解决办法如下:

    在web自动化测试,可能时常会碰到,但是如果普通的操作(click button)来打开模态窗口

    会导致RF卡住,运行不下去。所以必须使用异步的js来打开模态窗口

    核心的代码就是 setTimeout(function(){document.getElementById("aa").click()},100)

    具体的demo如下图

    dialog.png

    一般情况下这样就解决了。

    有时候getElementById时,根本就找不到此元素的id,怎么办??

    idea: 创建一个静态id,给标签分配一个id元素

    把新的id给到getElementById,如下:

    setTimeout(function(){document.getElementById("aa").click()},100)
    继续发散思维一下: Click  element  xxx  换成 execute javascript  document.getElementById('xxx').click() 基本换成javascript执行,都会轻松通过。如果元素没有ID的话,要用css定位的话,我用的jquery来执行。 Execute javascript  $(“css”).click()。

  • 相关阅读:
    httpd apache服务 安装
    kafka 安装
    azkaban 安装
    zookeeper 安装
    elasticsearch 安装
    mongodb 安装
    Spark 实例
    【剑指offer28:字符串的排列】【java】
    数组的toString方法
    object类的equals方法简介 & String类重写equals方法
  • 原文地址:https://www.cnblogs.com/zuola/p/5750018.html
Copyright © 2011-2022 走看看