關於iframe定位碰到的問題。


這幾天在做自動化測試的時候發現一個問題,用JQUERY定位時,總是報錯,MES:JQUERY IS NOT DEFINED。

檢查自己定位沒有問題,后來想是不是語法出了問題。

切換成XPATH來定位,還是報錯。

然后再語法調試,發現NAME屬性不能定位,不具有唯一性,有三個NAME值一樣的IFRAME。

當時具體情況是:IFRAME有三個屬性,NAME,SRC,CLASS。三個IFRAME除了SRC值不一樣外,其它兩個屬性的值都一樣。

所以只能通過SRC值來區分IFRAME了。

最后解決是通過:dom=document.querySelector("[src='.....']")   這個語法定位成功了。

 

通過這個事情,我聯想到,在做自動化測試的時候,定位是一個困難點,我習慣用JQUERY來定位,因為我是用RF框架做自動化的。

而定位碰到困難時,很大一部分是有FRAME,IFRAME存在,特別是多層嵌套的IFRME。

當發現定位失敗時,第一步:先調試語法,如果確信定位語法沒有問題,就考慮第二步。

                               第二步:檢查IFRAME是否存在,存在幾個(可能谷歌瀏覽器開發者工具最下面一欄查看到IFRAME的個數及位置),如果存在IFRAME,就先定位IFRAME。一般通過IFRAME的NAME,ID來定位IFRAME。

大部份的IFRAME能通過NAME,ID定位出來。(如果沒有NAME,ID,就參考另一篇博客,自已賦值一個ID),如果存在多個IFRAME,就一個一個的往里定位,直到定位到我們需要定位元素的那一層。

                            第三步:如果不存在IFRAME,就檢查是否切換了窗口。如果切換了窗口,就切換到我們需要定位元素的那個窗口,然后就可以正常定位元素 了。

具體情況還需要自己在做項目的時候,多總結,多練習。我這里只是提供一個思路。

 


免責聲明!

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



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