bitbake: toaster/tests: Setup delay after driver action self.get(url)

Recurring test failures result from insufficient delays in driver actions.

(Bitbake rev: b0de2a61d14fbf30e338751b285b3bab80192275)

Signed-off-by: Alassane Yattara <alassane.yattara@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alassane Yattara 2024-01-09 14:54:06 +01:00 committed by Richard Purdie
parent 0d93308425
commit 49ccf2f5e0
4 changed files with 12 additions and 1 deletions

View File

@ -182,6 +182,13 @@ class SeleniumTestCaseBase(unittest.TestCase):
abs_url = '%s%s' % (self.live_server_url, url)
self.driver.get(abs_url)
try: # Ensure page is loaded before proceeding
self.wait_until_visible("#global-nav", poll=3)
except NoSuchElementException:
self.driver.implicitly_wait(3)
except TimeoutException:
self.driver.implicitly_wait(3)
def find(self, selector):
""" Find single element by CSS selector """
return self.driver.find_element(By.CSS_SELECTOR, selector)

View File

@ -224,6 +224,7 @@ class TestAllBuildsPage(SeleniumTestCase):
url = reverse('all-builds')
self.get(url)
self.wait_until_visible('#allbuildstable', poll=3)
# get the project name cells from the table
cells = self.find_all('#allbuildstable td[class="project"]')
@ -232,7 +233,7 @@ class TestAllBuildsPage(SeleniumTestCase):
for cell in cells:
content = cell.get_attribute('innerHTML')
help_icons = cell.find_elements_by_css_selector(selector)
help_icons = cell.find_elements(By.CSS_SELECTOR, selector)
if re.search(self.PROJECT_NAME, content):
# no help icon next to non-cli project name
@ -256,6 +257,7 @@ class TestAllBuildsPage(SeleniumTestCase):
url = reverse('all-builds')
self.get(url)
self.wait_until_visible('#allbuildstable', poll=3)
# test recent builds area for successful build
element = self._get_build_time_element(build1)

View File

@ -162,6 +162,7 @@ class TestBuildDashboardPage(SeleniumTestCase):
"""
url = reverse('builddashboard', args=(build.id,))
self.get(url)
self.wait_until_visible('#global-nav', poll=3)
def _get_build_dashboard_errors(self, build):
"""

View File

@ -90,6 +90,7 @@ class TestNewCustomImagePage(SeleniumTestCase):
"""
url = reverse('newcustomimage', args=(self.project.id,))
self.get(url)
self.wait_until_visible('#global-nav', poll=3)
self.click('button[data-recipe="%s"]' % self.recipe.id)