2016-01-20 89 views
0

我正在使用Selenium和Java編寫測試。我使用ExpectedConditions.elementToBeClickable來點擊網頁元素,但有時它們被其他人所覆蓋,並且如您所知ExpectedConditions.elementToBeClickable只檢查元素是否已啓用且可見,那麼是否有任何方法檢查它是否被覆蓋?
順便說一下,我不希望使用類似代碼:檢查web元素是否被覆蓋的單一方法

 try{ 
     //click on the element 
     } 
    catch(Exception e) 
     {//it's covered 
     } 

我要尋找類似:因爲有時候比如我要檢查整個窗口的覆蓋

blabla.isCovered(); 

或不。

回答

0

如果你不想使用這種類型的代碼,也許你應該添加額外的邏輯到你的checkifClickable方法,而不僅僅是啓用和可見。雖然,我敢打賭,你真正的問題更多的是「如何檢查這些條件,禁止我點擊,這可能不會從DOM提供的信息中顯而易見」。

這使得自動化比人們意識到更困難,因爲您必須對該網站有詳細的瞭解。它是由於邏輯或條件而彈出的元素嗎?那麼解決辦法就是關閉它。這是渲染問題的解決方案嗎?然後調整窗口大小。沒有一種真正的治癒方法,你必須調整自動化邏輯以適應你正在工作的網站。

你不想點擊並知道以前?

如果您特別只是不想使用Try,那麼在您單擊後設置一個屬性更改的斷言,然後設置一個布爾值。