0
我使用硒自动化测试用例网络超时问题,但是到目前为止测试是片状由于网络问题(缓慢等)。这导致很多失败的测试用例。目前,重新运行失败的测试用例是服用大量的时间,使得自动化效率非常低,而不是手动测试。 有没有一种方法,使测试比增加隐性和显性超时更加动态等。Selenium测试和
在此先感谢
我使用硒自动化测试用例网络超时问题,但是到目前为止测试是片状由于网络问题(缓慢等)。这导致很多失败的测试用例。目前,重新运行失败的测试用例是服用大量的时间,使得自动化效率非常低,而不是手动测试。 有没有一种方法,使测试比增加隐性和显性超时更加动态等。Selenium测试和
在此先感谢
到目前为止,我处理这个问题的方法是写一个辅助函数来包装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()
一个例子调用(你可能会代替正常的点击使用()调用运行到时间问题)可能看起来像:
wait_for_clickability_then_click_element(
By.CSS_SELECTOR, "button[name='submit']")