大话人生

  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  299 随笔 :: 0 文章 :: 73 评论 :: 0 Trackbacks
[warn] Link has target '_blank', which is not supported in Selenium! Randomizing target to be: selenium_blank4795

Link has target '_blank'这个好像是这样的:当Link有这个属性时,会打开新浏览器窗口,如果target是“_blank”的话,Selenium不能找到打 开的新窗口,如果target有一个明确的名字的话,selenium就能够找到这个打开的新窗口并在其上进行操作了。
“_blank”的话,selenium不能保证一定找到找准这个窗口,所以给出警告,如果只有这样的一个窗口和主窗口,selenium通过一些变通的方法也能找到该窗口,但是不保证。
这是selenium本身限制的问题,暂时不晓得怎么解决,只要不影响测试就不用管这个警告。
“selenium_blank4795 ”这个应该是OpenQA里提给selenium的bug号吧?!


处理弹出窗口是selenium新手常遇到的问题,其中最麻烦是showModalDialog和_blank
 
showModalDialog是javascript的一种生成弹出窗口的方法,它和一般弹窗不同,showModalDialog新窗口弹出后,会将父窗口的所有资源(包括selenium)挂起,直至新窗口处理完毕才能返回父窗口。
解决方法是用 storeEval注入以下javascript代码,将showModalDialog方法重写,改成用window.open打开新窗口,一个页面注入一次即可
if(selenium.browserbot.getCurrentWindow().showModalDialog){selenium.browserbot.getCurrentWindow().showModalDialog = function(sURL,vArguments,sFeatures){selenium.browserbot.getCurrentWindow().open(sURL, 'modal', sFeatures);};}
 
_blank新窗口
当链接中指定了target="_blank"属性的时候,此时点击链接会在新窗口打开页面,这种新窗口通常没有名字,因此很多人不知如何定位
其实selenium IDE能够自动处理这种情况,当点击一个target="_blank"链接的时候,IDE会自动赋予新窗口一个_blank的名字,这样你就可以用这个名字来定位窗口
以下是一个例子:
在selenium中处理showModalDiaog弹窗和_blank新窗口
posted on 2013-07-16 17:41 大话人生 阅读(1355) 评论(0)  编辑 收藏 引用 所属分类: Selenium Test
只有注册用户登录后才能发表评论。