码迷,mamicode.com
首页 > 其他好文 > 详细

robotframework+Selenium2Library 模态窗口的处理

时间:2016-08-08 17:05:30      阅读:708      评论:0      收藏:0      [点我收藏+]

标签:

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

这里有个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()。

 

 

robotframework+Selenium2Library 模态窗口的处理

标签:

原文地址:http://www.cnblogs.com/zuola/p/5750018.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!