2016-05-31 15 views
1

標準WebElement行動Yandex HtmlElementsで遅延ロードはどのように機能しますか?

標準WebElement遅延ロードは、次のように動作します:

// Will not try to find button until perform an operation on it such as button.click(); 
@FindBy(id = "button") 
private WebElement button; 

// Button list will be created immediately 
@FindBy(id = "button") 
private List<WebElement> buttons; 

// Button list will be created after waiting 5 seconds 
@Timeout(5) 
@FindBy(id = "button") 
private List<WebElement> buttons; 

YandexのHtmlElements/TypifiedElement行動

は以下をすぐにロードされるか、または遅延して最初に使用するときにロードされますか?

@FindBy(id = "button") 
private CustomButton button;  // Extends TypifiedElement 

@FindBy(id = "block") 
private CustomComponent block;  // Extends HtmlElements 

答えて

2

それは標準WebElementsと同じように動作します - あなたがそれらにアクセスしようとすると、要素の検索が最初に実行されます。

+0

HtmlElementコンポーネントにリストやその他のHtmlElementベースのコンポーネントがフィールドとしてある場合でも、それはまだ遅延ロードされていますか?リストがすぐにロードされます。暗黙的なタイムアウトを使用すると、ロード前にタイムアウトの完全な時間を待機します。だから、これらがコンテナクラスの遅延読み込みに何らかの影響を与えるのではないかと思います... –

+0

うん、HtmlElementのすべての 'inner'フィールドは遅延ロードされます。 – artkoshelev

関連する問題