summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/tests/browser/selenium_helpers_base.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/toaster/tests/browser/selenium_helpers_base.py')
-rw-r--r--bitbake/lib/toaster/tests/browser/selenium_helpers_base.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/bitbake/lib/toaster/tests/browser/selenium_helpers_base.py b/bitbake/lib/toaster/tests/browser/selenium_helpers_base.py
index 5d0489bb4e..13806624f3 100644
--- a/bitbake/lib/toaster/tests/browser/selenium_helpers_base.py
+++ b/bitbake/lib/toaster/tests/browser/selenium_helpers_base.py
@@ -21,6 +21,7 @@ import unittest
21 21
22import pytest 22import pytest
23from selenium import webdriver 23from selenium import webdriver
24from selenium.webdriver.support import expected_conditions as EC
24from selenium.webdriver.support.ui import WebDriverWait 25from selenium.webdriver.support.ui import WebDriverWait
25from selenium.webdriver.common.by import By 26from selenium.webdriver.common.by import By
26from selenium.webdriver.common.desired_capabilities import DesiredCapabilities 27from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
@@ -215,6 +216,19 @@ class SeleniumTestCaseBase(unittest.TestCase):
215 time.sleep(poll) # wait for visibility to settle 216 time.sleep(poll) # wait for visibility to settle
216 return self.find(selector) 217 return self.find(selector)
217 218
219 def wait_until_clickable(self, selector, poll=1):
220 """ Wait until element matching CSS selector is visible on the page """
221 WebDriverWait(
222 self.driver,
223 Wait._TIMEOUT,
224 poll_frequency=poll
225 ).until(
226 EC.element_to_be_clickable((By.ID, selector.removeprefix('#')
227 )
228 )
229 )
230 return self.find(selector)
231
218 def wait_until_focused(self, selector): 232 def wait_until_focused(self, selector):
219 """ Wait until element matching CSS selector has focus """ 233 """ Wait until element matching CSS selector has focus """
220 is_focused = \ 234 is_focused = \