Selenium处理弹出窗口

上一篇 / 下一篇  2012-03-26 10:10:42 / 个人分类:Selenium

51Testing软件测试网%zV!w gqq

Selenium处理弹出窗口

*x c%X*iE,s \Xw)r051Testing软件测试网 Qd Y0x`:i Zp:T:u

 

!eC/N!d7s w6a0

E].Z#kOF4`0  分类:

m,ho,i+`l0

8e/S7V.q5p*[/\.]5f0  对网页弹出窗口,如WIKI所述,若要保持脚本运行稳定,必须在waitForPopUp这个弹出窗口之后紧跟运行selectWindow命令选中这个弹出窗口(示例),如果仍不稳定请参考这个示例。这里介绍了chooseCancelOnNextConfirmation、chooseOkOnNextConfirmation等JavaScript脚本实现的弹出窗口处理函数,selenium会弹出网页窗口,因为它重写了window.open在文件selenium-browserbot.js函数BrowserBot.prototype.modifyWindowToRecordPopUpDialogs中的newOpen,但这必须在window.onload之后创建才有效。对于HTTPS安全性弹出窗口证书的处理,见Selenium RC。

,i3n Oahs Q0

p_%hS4F*?2L4rY+_;W v0  对非网页弹出窗口,如window.alert,window.confirm,window.prompt,window. showModalDialog等,有如下方法:51Testing软件测试网[M2x lx4P:L1G

51Testing软件测试网RI$RPh)V%\ H'dw0g [V

  1.封装Windows Api,对Java语言则有Java Native Interface (JNI)或者J/Invoke(示例)。51Testing软件测试网 |"@"DW#TP$h2L7l+{3I

51Testing软件测试网yN5Zk a

  2.Selenium RC中开启proxy injection(PI)模式也可以识别,这种模式提供了一个HTTP代理在浏览器之前自动更改所有接收到的HTML。window.alert, window.confirm,window.prompt在文件selenium-browserbot.js函数BrowserBot.prototype.modifyWindowToRecordPopUpDialogs中被覆写。

R5LF6M6uM+w0

[0J6sB0F!O%Jd0  3.这里用window.open覆写了window. showModalDialog,同样实现的还有在文件selenium-browserbot.js函数BrowserBot.prototype._modifyWindow实现开始部分添加对ModalDialog的实现。

Ua8I%ZF051Testing软件测试网l3sL U{)N%A6[ g

51Testing软件测试网2Z#L1A c1x.O
转自:领测软件测试网[http://www.ltesting.net]
(k1N vHnXc0原文链接:http://www.ltesting.net/ceshi/open/kygncsgj/selenium/2011/0930/203292.html51Testing软件测试网vX\y~0H0S


TAG:

 

评分:0

我来说两句

Open Toolbar