51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 9486|回复: 4
打印 上一主题 下一主题

Ruby/watir怎么捕获JS弹出窗口以取得警告信息的内容

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-7-9 12:08:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家可参考: http://xk.cn.yahoo.com/msp/writer/post.html ,或下载附件,查看该网页的代码

就是一个文章发文的系统,如果不输入标题,其它正常输入,点击提交,则弹出JS警告窗口,警告信息为:请输入标题
如果不输入正文,则警告信息为:请输入正文


如何能捕获到该警告信息?
调用新线程处理警告窗口倒已解决。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-8-5 01:25:19 | 只看该作者
用AutoIT的实例,编写一个监听处理程序,参数为弹出的窗口的信息和要做的操作。
然后在每次触发事件前,通过新线程在操作系统级先启一个动监听程序的实例,等到窗口弹出后,监听处理程序自然就会获得窗口的控制权,并根据参数进行相应的操作。
关键在于,在获得弹出窗口的控制权后,需要窗口处于激活状态,使其可以接受鼠标键盘事件。
Autoit的以下3个方法可以解决问题:
autoit.ControlGetHandle(title,texts,"")
autoit.WinActivate(title,texts)
autoit.Send("\{#{operation}\}")

[ 本帖最后由 spqr_tristan 于 2007-8-5 01:27 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-2-3 10:57:54 | 只看该作者
能不能把解决的方法贴出来 让大家学习学习
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-7-3 13:30:33 | 只看该作者
弹出的 MsgBox 框框无外乎几个属性:"Prompt", vbYesNo, "Title", HelpFile
提示信息存储在"Prompt"中, 你进watir里面搜索 Prompt方面的信息,看能不能获得这些信息。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-7-3 13:33:38 | 只看该作者
调用新线程处理警告窗口倒已解决?
能不能教我啊?
下面有一段代码是线程解决弹出窗口的,但是我调用不通,你能改进,或者把你那个发给我么?谢谢
def check_for_popups
    autoit = WIN32OLE.new('AutoItX3.Control')
    # Do forever - assumes popups could occur anywhere/anytime in your application.
    loop do
        # Look for window with given title. Give up after 1 second.
        ret = autoit.WinWait("Microsoft Internet Explorer", '', 1)
        #
        # If window found, send appropriate keystroke (e.g. {enter}, {Y}, {N}).
        if (ret==1) then autoit.Send('{enter}') end
        #
        # Take a rest to avoid chewing up cycles and give another thread a go.
        # Then resume the loop.
        sleep(3)
    end
end
$popup = Thread.new { check_for_popups }  # start popup handler
at_exit { Thread.kill($popup) }
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-16 22:28 , Processed in 0.076682 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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