2017-07-24 5 views
0

Ich habe Probleme mit dem Testen der UI Popover Komponente mit Webdriver. Ich möchte das Menü anzeigen und Element innerhalb klicken.Wie überprüft man animierte Material ui Popover mit Webdriver

public void logOut() 
{ 

    driver.clickOnElementByXpath(USER_MENU_XPATH); 
    driver.clickOnElementByXpath(LOGOUT_BUTTON_XPATH);    
} 

Aber es wird die ganze Zeit verpassen klicken, denn wenn ich Logout-Button suchen möge, Menü nicht „vollständig geöffnet“ ist und das Element nicht da ist. Ich möchte vermeiden, hier hart zu warten.

Bitte helfen, wie erreiche ich das?

+0

Sie für den Abmelde webdriverwait dann klicken Sie darauf – Murthi

+0

google auf 'explizite wait' –

+0

Explicit Warte erscheinen kann warten verwendet, ist etwas, was ich vermeiden möchte. – Tommet

Antwort

0

Von Selenium Python Bindings wie folgt vor:

Erste Warten auf das Element und das Warten auf ihn mit expliziter wartet anklickbar zu sein.

from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC 


try: 
    element = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "LOGOUT_BUTTON_XPATH")) 
    ) 
    element = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, 'LOGOUT_BUTTON_XPATH'))) 

finally: 
    element.click() 

Sie etwas ähnliches