您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源功能測(cè)試工具 > Selenium
Selenium處理彈出窗口
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/3/27 14:52:56 ] 推薦標(biāo)簽:

  對(duì)網(wǎng)頁彈出窗口,如WIKI所述,若要保持腳本運(yùn)行穩(wěn)定,必須在waitForPopUp這個(gè)彈出窗口之后緊跟運(yùn)行selectWindow命令選中這個(gè)彈出窗口(示例),如果仍不穩(wěn)定請(qǐng)參考這個(gè)示例。這里介紹了chooseCancelOnNextConfirmation、chooseOkOnNextConfirmation等JavaScript腳本實(shí)現(xiàn)的彈出窗口處理函數(shù),selenium會(huì)彈出網(wǎng)頁窗口,因?yàn)樗貙懥藈indow.open在文件selenium-browserbot.js函數(shù)BrowserBot.prototype.modifyWindowToRecordPopUpDialogs中的newOpen,但這必須在window.onload之后創(chuàng)建才有效。對(duì)于HTTPS安全性彈出窗口證書的處理,見Selenium RC。

  對(duì)非網(wǎng)頁彈出窗口,如window.alert,window.confirm,window.prompt,window. showModalDialog等,有如下方法:

  1.封裝Windows Api,對(duì)Java語言則有Java Native Interface (JNI)或者J/Invoke(示例)。

  2.Selenium RC中開啟proxy injection(PI)模式也可以識(shí)別,這種模式提供了一個(gè)HTTP代理在瀏覽器之前自動(dòng)更改所有接收到的HTML。window.alert, window.confirm,window.prompt在文件selenium-browserbot.js函數(shù)BrowserBot.prototype.modifyWindowToRecordPopUpDialogs中被覆寫。

  3.這里用window.open覆寫了window. showModalDialog,同樣實(shí)現(xiàn)的還有在文件selenium-browserbot.js函數(shù)BrowserBot.prototype._modifyWindow實(shí)現(xiàn)開始部分添加對(duì)ModalDialog的實(shí)現(xiàn)。

軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd