set_title - plot title python



量角器的預期條件 (2)

在Python中編寫selenium測試時,我習慣使用顯式等待來等待頁面加載,或等待元素變為可見或可點擊等。

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

element = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.ID, "myDynamicElement"))
)

這裡的關鍵概念是提供一個預期的條件等待,有多種類型:

與使用硬編碼時間間隔的sleep相比,使用期望條件使得代碼更清晰,更可靠。

現在,我們正在將我們的端到端測試基礎設施轉換為protractor

在量角器中是否存在與python-seleniumjava-selenium相似的Expected Conditions ? 如果不是,那麼明確地等待protractor的條件的規範方法是什麼?

我查看了量角器文檔,並沒有發現它。

https://ffff65535.com


一旦專長(expectedConditions)在(可能量角器1.7),你可以做:

var EC = protractor.ExpectedConditions;
var e = element(by.id('xyz'));
browser.wait(EC.presenceOf(e), 10000);
expect(e.isPresent()).toBeTruthy();

但請注意,如果您正在使用Angular應用程序,而您的測試需要這些有條件的等待,那麼對於您正在做的事情來說這是一個大紅旗,因為量角器應該處理等待本地。


在量角器中,你可以使用browser.wait(fn, timeout)

例:

var element = by.id('myDynamicElement');
browser.wait(function() {
  return ptor.isElementPresent(element);
}, 10000);

expect(ptor.isElementPresent(element)).toBeTruthy();




protractor