2017-05-17 49 views
0

我使用pagefactory有關於元素裝載一個問題,如何重新加載頁面元素:寧靜BDD - 使用pagefactory

@Findy(id = painelDeContole) 
private WebElementFacade painelDeControleBtn; 

關鍵是這個菜單我有,

Screenshot 1

在「... mais」上做一個鼠標懸停操作來打開這樣的子菜單: Screenshot 2

但是當我打電話給佩恩lDeControleBtn.isVisible()它返回false。 (最後一張圖片,第二個圖標) 我需要一些方法來重新加載頁面元素,並在鼠標懸停操作後真正驗證元素是否可見。 我已經在PageObject和WebElementFacade中搜索了一些方法來做到這一點,但沒有找到任何方法。 如果可能,我想維護pagefactory的使用..

回答

0

由於@FindBy加載元素的方式,它可能存在於屏幕上但尚未可見,或者它可能不會等到元素出現之前返回結果。爲了可靠地做到這一點,您將通過動態查找獲得更好的結果,例如

$("#painelDeContole").isVisible(); 

$("#painelDeContole").waitUntilVisible(); 
+0

這是不可能實現的方法通過反射來獲得定位和重新加載元素實例?如果這是可能的,你給我一個暗示在寧靜核心的位置,我會很高興實現它,並打開拉請求:) –