2015-06-26 120 views
1

在我的應用程序中,當我點擊任何元素時,顯示等待的圖像。我可以創建一個表達式等待等待該圖像消失,但我必須在每次點擊代碼後編寫它。我想創建一個隱含的等待。這樣我就可以避免每次都寫這些代碼。自定義Selenium WebDriver隱式等待加載頁面消失

請幫忙。提前致謝 !!

回答

2

之間存在隱含明確等待一個顯著差異。尋找元素明確的等待總是最好的選擇。我建議寫一個自定義的finElement()方法,其中有明確的等待烘烤,以便您不必每次都寫明確的等待。你不希望在任何地方使用隱式等待,因爲如果元素不在那裏,它會給你的測試執行帶來性能問題。

+0

你可以給我一個這樣的自定義findElement()方法的例子嗎?謝謝 –

2

只需應用"Extract method"重構方法。創建一個單獨的可重用函數/方法,除了單擊一個元素之外,還會等待等待圖像的不可見性。

下面是一個簡單的例子(應該有了一定的提高):

public void clickAndWait(WebDriver driver, By by) { 
    driver.findElement(by).click(); 

    WebDriverWait wait = new WebDriverWait(driver, 5); 
    wait.until(ExpectedConditions.invisibilityOfElementLocated(By.id("waiting_image"))); 
} 
+0

請詳細介紹一下「Extract method」重構方法。謝謝 –

+0

@virendrachaudhary增加了一個簡單的例子,希望至少給你一個出發點。 – alecxe

+0

非常感謝你 –

相關問題