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如下图

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

有时候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()。

时间: 2024-10-07 07:34:47

robotframework+Selenium2Library 模态窗口的处理的相关文章

robotframework + selenium2library 一点测试的经验

1 对于元素的外层包括frame/iframe标签的.一定要先select  frame name=xxx,然后再操作元素. Select frame name=新建个案 click element  id=  xxxxx 2 对于window.showModalDialog()模式打开的新窗口 Eg.点击"支付详情"的"详情",出来一个新页面.如何定位呢?单纯的select window title=payDetail page  是定位不到新窗口的.解决办法如下

分享20个华丽的模态窗口弹出效果示例(梦想天空)

分享20个华丽的模态窗口弹出效果示例 在你的品牌和网站访问者之间建立情感联系是非常重要的.模态弹出窗口可能会帮助您完成这个具有挑战性的任务,以及分享给游客一些重要信息.作为一项常用规则,模态弹出窗口被用于各种号召行动的消息,如鼓励用户订阅新闻邮件,下载一些免费赠品或通知关于一些新的产品,服务或功能发布等.在这里,你会看到值得你注意的20个华丽的弹出窗口示例. 您可能感兴趣的相关文章 经典网页设计:超炫动画效果单页网站 30个独具匠心的精美单页网站设计案例 25个以全屏照片为背景的精美网页作品 2

Ionic最佳实践-使用模态窗口modal

原文地址:Ionic最佳实践-使用模态窗口modal 模态窗口的结构 在Ionic中,模态窗口通过$ionicModal提供.他易于使用且非常强大,详细信息请参考$ionicModal文档.Ionic中的模态窗口可以使用模板字符串或URL创建.本文将使用URL. 模态窗口创建时绑定到一个scope,这个scope可以用来传递数据.然而,在更复杂的情况下,通过服务来访问共享数据是最好的做法. 制作模态窗口的标记 创建模态窗口非常简单.首先,让我们来创建我们的用户界面.这个小例子将会展示一条联系人信

用JqueryUI的Dialog+IFrame实现仿模态窗口效果

大家有没有想过这样一个问题,当我点击某个图片的时候,我想弹出这个图片信息的详情并修改,于是你首先想到的是不是window.open?window.open方法确实可以,但是有它的局限性,比如,标题显示为URL,点一下其他地方窗口会消失,然后点其他图片的时候,死活都出不来,原来是前面打开的窗口没被关闭,ETC....于是你又想到了模态窗口,但是模态窗口有一个不好的地方,只能适用于IE浏览器,而且样式貌似也不咋地.好啦,天空一声巨响,JqueryUI的Dialog横空出世了,我们先看看官方给的例子.

使用jQuery创建模态窗口登陆效果

来源:GBin1.com 在线下载 在线演示 隐藏模态窗口技术是一种很好的解决方案,用于处理不是特有必要出现在网页上的界面元素.社交网络可以使用模态窗口传达私人讯息以及只针对会员才能看 到的表单.在博客和杂志网站也适用于与主网站分开的作者登陆页面,模态窗口比在JavaScript中创建新窗口更容易,因为使用HTML标记显示,所有 的东西能都呈现在同一个窗口中. 我将演示如何利用jQuery插件leanModal建立一个常规模态窗口.如果你有MIT general license,那么这个插件是完

模态窗口刷新问题

模态窗口窗口刷新问题-当模态窗口刷新时,会新打开一个浏览器页面, 解决办法在<head>标签里添加 <base target='_self'/> 添加JS方法$(function () { $("head").append("<base target='_self'/>");});    基本就能解决:

js模态窗口

最近在看js,正好公司用的框架中用到了模态窗口,以前没有接触过,现在把模态窗口的用法先记下来. 常用的浏览器chrome,Firefox,ie11,这三种分别支持document.open(),window.showModalDialog(),window.showModalDialog()的方式.下面还是直接给出代码,比较直观: motaichuangkou.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//E

使用异步js解决模态窗口切换的办法

核心代码 js ="setTimeout(function(){document.getElementsByTagName('Button')[3].click()},100);" 下面是我的实验过的示例代码: 实验地址: http://pyselenium-d1826.coding.io/exapage.html 1 #-*- coding: utf-8 -*- 2 __author__ = 'ray' 3 from selenium import webdriver 4 impor

IOS的模态窗口(modal)

在iOS开发中,除了使用push方法切换控制器以外,modal也可以实现界面切换,使用modal方便快捷,任何控制器都可以使用modal展示出来,开发中在设置注册,购物车,点赞等小功能的时候可以使用. 首先我们简单了解下ViewController之间的跳转 1.如果在 Storyboard中当前的 ViewController和要跳转的ViewController之间的segue存在,则可以执行performSegueWithIdentifier:sender:这个方法实现跳转.2.如果目标V