诚招英才(长期):高级测试开发工程师、测试架构师,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”按钮的方法。不过需要注意的是在中文环境下这个类中的方法是不能直接使用的,因为它是默认支持英文环境的,所以是找不到中文标题的窗口的,故需要对方法做本地化处理,如下:
kkKF M!FP0 def push_security_alert_yes
5iR e1BRx{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.E eO,CH8b9K.f0
相关阅读:
- (原创)基于WATIR+RAILS+STAF的自动化测试框架——QAWEB (wzstar2008, 2008-1-31)
- (原创)基于WATIR+RAILS+STAF的自动化测试框架——测试脚本 (wzstar2008, 2008-1-31)
- 对Watir,Rails,Staf的简要介绍 (wzstar2008, 2008-2-02)
- (原创)基于WATIR+RAILS+STAF的自动化测试--测试套件脚本 (wzstar2008, 2008-3-25)
- (原创)基于WATIR+RAILS+STAF的自动化测试框架——测试用例脚本 (wzstar2008, 2008-3-25)
- (原创)基于WATIR+RAILS+STAF的自动化测试_qaweb与测试任务 (wzstar2008, 2008-4-17)
- (原创)基于WATIR+RAILS+STAF的自动化测试_测试结果 (wzstar2008, 2008-4-21)
- (原创)基于WATIR+RAILS+STAF的自动化测试_其他qaweb截图 (wzstar2008, 2008-4-21)
收藏
举报
TAG:
自动化测试技术