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

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

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

51Testing软件测试网*A T&R#[*_b

   今天一个同事问如何处理IE弹出窗口,由于有好久没有用watir了,所以我只能翻了一下之前写的代码,这才想起来当时是如何处理的,为了防止再次忘掉,所以还是记到blog里面比较稳妥。

9zqb0Q6{0

s#i[T8b%w8{f C/o0   如果不需要对弹出窗口做条件处理,那么直接用send_keys模拟alt+f4操作即可;但如果需要做条件处理,那么就需要用到一个类WindowHelper(WindowHelper.rb),其中提供处理各种弹出窗口的方法,直接使用即可,如:
M$Gt!b9L/tc*C0    def push_security_alert_yes51Testing软件测试网Y:Kg/@ bm:U
        @autoit.WinWait "Security Alert", ""51Testing软件测试网oO+x_6m,H
        @autoit.Send "{TAB}"
UZM&}g/xyN:c0        @autoit.Send "{TAB}"51Testing软件测试网 yn K e9bn4F
        @autoit.Send "{SPACE}"
S&K){WH s`r0    end51Testing软件测试网7D'U Pn#JB{ S/d%Q
   
这就是一个模拟点击安全警告“yes”按钮的方法。不过需要注意的是在中文环境下这个类中的方法是不能直接使用的,因为它是默认支持英文环境的,所以是找不到中文标题的窗口的,故需要对方法做本地化处理,如下:
jM-t)o%W5ob7P0     def push_security_alert_yes51Testing软件测试网P+Q-j1{7G]%r9vh"xxz(Z s
        @autoit.WinWait "
安全警告", ""
(MEp$T5x+m#?[`0        @autoit.Send "{TAB}"51Testing软件测试网'nc[ ka BGuQ5JX
        @autoit.Send "{TAB}"
,b g}"K$@yT0        @autoit.Send "{SPACE}"
Tu KRW+TD.P0    end51Testing软件测试网4C P+l@"?2BC;Z
具体步骤:
wB wz8k-A01、将调用windowshelper处理弹出窗口的代码单独保存在一个.rb文件中;
0neu t'W W\02、主程序中,在触发弹出窗口的操作之前,用Thread.new调用1中的文件,使处理弹出窗口的进程处于启动状态;
2?.ljh`'_d3F1r7p2i0
3、当触发弹出窗口的操作完成后,弹出窗出现后处理进程会捕捉这个窗口并做处理;51Testing软件测试网&zs BN iCt%|:g h
51Testing软件测试网vo5u n5BQ+E\ o
其实大家看了这个方法的实现以后,也就很容易自己在代码中实现对弹出窗口的处理了。^_^

k*S+e.BD:j0

TAG: 自动化测试技术

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

评分:0

我来说两句

Open Toolbar