Selenium测试和网络超时问题

Selenium测试和网络超时问题,selenium,testing,automation,network-programming,timeout,Selenium,Testing,Automation,Network Programming,Timeout,我正在使用selenium自动化测试用例,但是到目前为止,由于网络问题(速度慢等),测试是不稳定的。这导致许多测试用例失败。目前,重新运行失败的测试用例需要相当长的时间,与手动测试相比,自动化效率非常低。 除了添加隐式和显式超时外,是否有其他方法使测试更具动态性 提前感谢到目前为止,我处理这个问题的方法是编写一个helper函数来包装WebDriverWait,这样使用起来就不那么麻烦了 下面是一个使用WebDriver Python绑定的示例: # Import EC: from seleni

我正在使用selenium自动化测试用例,但是到目前为止,由于网络问题(速度慢等),测试是不稳定的。这导致许多测试用例失败。目前,重新运行失败的测试用例需要相当长的时间,与手动测试相比,自动化效率非常低。 除了添加隐式和显式超时外,是否有其他方法使测试更具动态性


提前感谢

到目前为止,我处理这个问题的方法是编写一个helper函数来包装WebDriverWait,这样使用起来就不那么麻烦了

下面是一个使用WebDriver Python绑定的示例:

# Import EC:
from selenium.webdriver.support import expected_conditions as EC

# Then define the helper:
def wait_for_clickability_then_click_element(self, by, locator, timeout=5):
    WebDriverWait(self.driver, timeout).until(EC.element_to_be_clickable((
            by, locator)))
    if by == By.XPATH:
        self.driver.febx(locator).click()
    elif by == By.CSS_SELECTOR:
        self.driver.febc(locator).click()
一个调用示例(您可以使用它来代替遇到计时问题的正常click()调用)如下所示:

wait_for_clickability_then_click_element(
    By.CSS_SELECTOR, "button[name='submit']")