robotframework+Selenium2Library 模態窗口的處理


所謂模態窗口,就是指除非采取有效的關閉手段,用戶的鼠標焦點或者輸入光標將一直停留在其上的對話框。(說白了,就是彈出了模態窗口之后,后面的窗口無法被點擊)

這里有個demo頁面
http://www.robotframework.net/ ... alogA

 

對於window.showModalDialog()模式打開的新窗口 Eg.點擊“支付詳情”的“詳情”,出來一個新頁面。如何定位呢?單純的select window title=payDetail page  是定位不到新窗口的。解決辦法如下:

在web自動化測試,可能時常會碰到,但是如果普通的操作(click button)來打開模態窗口

會導致RF卡住,運行不下去。所以必須使用異步的js來打開模態窗口

核心的代碼就是 setTimeout(function(){document.getElementById("aa").click()},100)

具體的demo如下圖

dialog.png

 

一般情況下這樣就解決了。

 

有時候getElementById時,根本就找不到此元素的id,怎么辦??

idea: 創建一個靜態id,給標簽分配一個id元素

 

把新的id給到getElementById,如下:

setTimeout(function(){document.getElementById("aa").click()},100)

 

 

繼續發散思維一下: Click  element  xxx  換成 execute javascript  document.getElementById('xxx').click() 基本換成javascript執行,都會輕松通過。如果元素沒有ID的話,要用css定位的話,我用的jquery來執行。 Execute javascript  $(“css”).click()。

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM