1
Es scheint, dass die Assertion fehlschlägt, wenn ein Element nicht gefunden werden kann und es zur Wiederholungsschleife weitergeht, obwohl bis zum Fehlschlagen des Tests keine "Rückgabe False" vorliegt dreimal.Die Assertion schlägt trotz Testwiederholung fehl und gibt true zurück
def find_element(context, element_id, retry=0):
# Generate string list of IDs for printing
if isinstance(element_id, list):
element_name = '#' + ' or #'.join(element_id)
else:
element_name = '#' + element_id
try:
# Print list of IDs with "or" separator, if id is list
info('Locate element: ' + element_name)
# Wait 10 seconds for element to be visible
element = element_visible(context, element_id)
success('Element found: #' + element[0])
success('Location: {}, Size: {}'.format(element[1].location, element[1].size))
return True
except TimeoutException:
warn('Unable to find {}. Retry = {}'.format(element_name, retry))
if retry < 2:
# If element is not found, refresh browser loop
refresh_browser(context)
find_element(context, element_id, retry + 1)
else:
alert('Element "{}" not found'.format(element_name))
return False
except:
alert('Unexpected error: {}'.format(sys.exc_info()[0]))
raise
def assert_element(context, element_id):
result = find_element(context, element_id)
if isinstance(element_id, list):
element_id = ' or '.join(element_id)
assert_true(result, 'Element with id "{}" should appear on page'.format(element_id))
Jeder Einblick, was eine fehlgeschlagene Behauptung auslösen könnte?