诚招英才(长期):高级测试开发工程师、测试架构师,C++,java,ops; 联系方式:linhan@taobao.com msn: niuxvampire@hotmail.com

watir处理IE弹出窗口的方法(已更新)

上一篇 / 下一篇  2008-07-24 12:50:54 / 个人分类:自动化测试技术

51Testing软件测试网4sVz }m6`AS'R;D

   今天一个同事问如何处理IE弹出窗口,由于有好久没有用watir了,所以我只能翻了一下之前写的代码,这才想起来当时是如何处理的,为了防止再次忘掉,所以还是记到blog里面比较稳妥。51Testing软件测试网6SmW2N#Z;O?#Wm7R _]

51Testing软件测试网BJamyj^

   如果不需要对弹出窗口做条件处理,那么直接用send_keys模拟alt+f4操作即可;但如果需要做条件处理,那么就需要用到一个类WindowHelper(WindowHelper.rb),其中提供处理各种弹出窗口的方法,直接使用即可,如:51Testing软件测试网G`^XY]
    def push_security_alert_yes51Testing软件测试网V5s;l-t l br m$Z F
        @autoit.WinWait "Security Alert", ""51Testing软件测试网o1k*|8yA#h,S@'s ]*F
        @autoit.Send "{TAB}"
S @br8[)zZ,f0        @autoit.Send "{TAB}"51Testing软件测试网4|M;jpbv
        @autoit.Send "{SPACE}"
k&K @6[3ys0    end51Testing软件测试网/Rjz0} e@x^ V\3N
   
这就是一个模拟点击安全警告“yes”按钮的方法。不过需要注意的是在中文环境下这个类中的方法是不能直接使用的,因为它是默认支持英文环境的,所以是找不到中文标题的窗口的,故需要对方法做本地化处理,如下:
kkK F M!FP0     def push_security_alert_yes
5iRe1BRx{9Lbw0        @autoit.WinWait "
安全警告", ""
j;R&p j!H:Lm0        @autoit.Send "{TAB}"51Testing软件测试网/Q p1@VSH
        @autoit.Send "{TAB}"51Testing软件测试网 NRs'A.O\3h*Ao
        @autoit.Send "{SPACE}"
Tt[*?cV%vs0    end
V_ q/E/o:lR0
具体步骤:51Testing软件测试网5a2v_$| C:z
1、将调用windowshelper处理弹出窗口的代码单独保存在一个.rb文件中;
E y'uLI`*_6n02、主程序中,在触发弹出窗口的操作之前,用Thread.new调用1中的文件,使处理弹出窗口的进程处于启动状态;51Testing软件测试网'y8I*d,M{
3、当触发弹出窗口的操作完成后,弹出窗出现后处理进程会捕捉这个窗口并做处理;51Testing软件测试网7W%MZ5x!p'D'e
51Testing软件测试网MjV8bP
其实大家看了这个方法的实现以后,也就很容易自己在代码中实现对弹出窗口的处理了。^_^

Y0lY.EeO,CH8b9K.f0

TAG: 自动化测试技术

-DNA's home 引用 删除 huoxingyinzi   /   2009-08-27 10:42:04
哈哈,确实如此
 

评分:0

我来说两句

Open Toolbar