tests: Work around an intermittent -t=auto failure. The 'Edit Profile' click is getting lost as things rapidly update? I haven't ever seen it as a human clicking.
All checks were successful
Build Tilde Friends / Build-All (push) Successful in 19m8s
All checks were successful
Build Tilde Friends / Build-All (push) Successful in 19m8s
This commit is contained in:
parent
28d2539432
commit
d9972cb349
@ -16,8 +16,9 @@ from selenium.webdriver.common.by import By
|
|||||||
from selenium.webdriver.support import expected_conditions
|
from selenium.webdriver.support import expected_conditions
|
||||||
from selenium.webdriver.support.ui import WebDriverWait
|
from selenium.webdriver.support.ui import WebDriverWait
|
||||||
|
|
||||||
def select(driver, path, action = None):
|
def select(driver, path, action = None, keep_trying = False):
|
||||||
start_time = time.time()
|
start_time = time.time()
|
||||||
|
done = False
|
||||||
while True:
|
while True:
|
||||||
try:
|
try:
|
||||||
driver.switch_to.default_content()
|
driver.switch_to.default_content()
|
||||||
@ -47,13 +48,17 @@ def select(driver, path, action = None):
|
|||||||
context.clear()
|
context.clear()
|
||||||
else:
|
else:
|
||||||
raise RuntimeError(f'Unexpected action: {action}.')
|
raise RuntimeError(f'Unexpected action: {action}.')
|
||||||
break
|
done = True
|
||||||
|
if not keep_trying:
|
||||||
|
break
|
||||||
else:
|
else:
|
||||||
return context
|
return context
|
||||||
except (selenium.common.exceptions.NoSuchElementException,
|
except (selenium.common.exceptions.NoSuchElementException,
|
||||||
selenium.common.exceptions.NoSuchShadowRootException,
|
selenium.common.exceptions.NoSuchShadowRootException,
|
||||||
selenium.common.exceptions.StaleElementReferenceException,
|
selenium.common.exceptions.StaleElementReferenceException,
|
||||||
selenium.common.exceptions.WebDriverException):
|
selenium.common.exceptions.WebDriverException):
|
||||||
|
if done and keep_trying:
|
||||||
|
break
|
||||||
if time.time() - start_time < 5.0:
|
if time.time() - start_time < 5.0:
|
||||||
time.sleep(0.1)
|
time.sleep(0.1)
|
||||||
pass
|
pass
|
||||||
@ -99,7 +104,7 @@ try:
|
|||||||
select(driver, ['tf-navigation', 'shadow_root', '#identity'], ('click',))
|
select(driver, ['tf-navigation', 'shadow_root', '#identity'], ('click',))
|
||||||
select(driver, ['tf-navigation', 'shadow_root', '#id_dropdown', '//button[position()=2]'], ('click',))
|
select(driver, ['tf-navigation', 'shadow_root', '#id_dropdown', '//button[position()=2]'], ('click',))
|
||||||
|
|
||||||
select(driver, ['#document', 'frame', 'tf-app', 'shadow_root', '#tf-tab-news', 'shadow_root', '.tf-profile', 'shadow_root', '#edit_profile'], ('click',))
|
select(driver, ['#document', 'frame', 'tf-app', 'shadow_root', '#tf-tab-news', 'shadow_root', '.tf-profile', 'shadow_root', '#edit_profile'], ('click',), keep_trying = True)
|
||||||
select(driver, ['#document', 'frame', 'tf-app', 'shadow_root', '#tf-tab-news', 'shadow_root', '.tf-profile', 'shadow_root', '#name'], ('send_keys', 'user'))
|
select(driver, ['#document', 'frame', 'tf-app', 'shadow_root', '#tf-tab-news', 'shadow_root', '.tf-profile', 'shadow_root', '#name'], ('send_keys', 'user'))
|
||||||
select(driver, ['#document', 'frame', 'tf-app', 'shadow_root', '#tf-tab-news', 'shadow_root', '.tf-profile', 'shadow_root', '#save_profile'], ('click',))
|
select(driver, ['#document', 'frame', 'tf-app', 'shadow_root', '#tf-tab-news', 'shadow_root', '.tf-profile', 'shadow_root', '#save_profile'], ('click',))
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user