51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3585|回复: 3
打印 上一主题 下一主题

怎么定位弹出窗口上的button

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-3-26 14:18:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天尝试用selenium rc跑脚本,在最后的几步中会有个弹出窗口,上面只有两个button:Ok or Cancel,现在我用如下语句操作,不过貌似没有定位到这个新弹出窗口上,会报错:"com.thoughtworks.selenium.SeleniumException: ERROR: Element //SELECT[@name='Cancel'] not found"并且会再打开一个新的IE浏览器页面,搞不清楚怎么解决,急,请大家帮帮我
语句:
selenium.selectWindow("name=confirm");
sleep("1000");
selenium.select("//SELECT[@name='Cancel']", "index=1");   
selenium.click("//input[@type='button']");
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-3-31 16:05:52 | 只看该作者
给你一个解决思路,
在Firefox中装一个XPather插件,在插件中查询一下能不能正常定位到//SELECT[@name='Cancel']这个XPath。如果不行的话,在Firefox中右击这个控件,选 “show in xpather”可以得到这个控件的全路径,自己根据需要修改一下这个路径再优化一下就OK了。

或者在FireBug中看一下这个控件的实际值和你写的有没有不一样之处。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-4-2 16:42:11 | 只看该作者
我的环境是SeleniumRc+junit,今天终于碰到的弹出框.仅供参考,其它好的方法正在学习中.
我用 AutoItX3.dll来解决(来源watir源码)

alert.vbs代码
  1. Set  objArgs = WScript.Arguments
  2. Set oAutoIt = CreateObject("AutoItX3.Control")
  3. oAutoIt.WinWaitActive "需要验证","",5
  4. oAutoIt.Send(objArgs(0))
  5. oAutoIt.Send("{TAB}")
  6. oAutoIt.Send(objArgs(1))
  7. oAutoIt.Send("{ENTER}")
复制代码
测试代码
  1. Thread.sleep(3000);
  2. Runtime.getRuntime().exec("cscript.exe \""+utilPath+"alert.vbs\" "+username+" "+password+"");
  3. selenium.open("/")       
复制代码

[ 本帖最后由 小米啊 于 2010-4-2 16:50 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-4-5 14:10:32 | 只看该作者
【Python 操作IE的弹出窗口】
http://www.51testing.com/index.p ... space-itemid-211775
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-24 13:15 , Processed in 0.085924 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表