How to use wait_until_first_element_is_found method in toolium

Best Python code snippet using toolium_python

test_driver_utils.py

Source:test_driver_utils.py Github

copy

Full Screen

...442def test_wait_until_first_element_is_found_locator(driver_wrapper, utils):443 # Configure driver mock444 driver_wrapper.driver.find_element.return_value = 'mock_element'445 element_locator = (By.ID, 'element_id')446 element = utils.wait_until_first_element_is_found([element_locator])447 assert element_locator == element448 driver_wrapper.driver.find_element.assert_called_once_with(*element_locator)449@pytest.mark.usefixtures('driver_wrapper')450def test_wait_until_first_element_is_found_page_element(utils):451 # Mock Driver.save_web_element = True452 driver_wrapper.config = mock.MagicMock()453 driver_wrapper.config.getboolean_optional.return_value = True454 page_element = PageElement(By.ID, 'element_id')455 page_element._web_element = 'mock_element'456 element = utils.wait_until_first_element_is_found([page_element])457 assert page_element == element458@pytest.mark.usefixtures('driver_wrapper')459def test_wait_until_first_element_is_found_none(utils):460 # Mock Driver.save_web_element = True461 driver_wrapper.config = mock.MagicMock()462 driver_wrapper.config.getboolean_optional.return_value = True463 page_element = PageElement(By.ID, 'element_id')464 page_element._web_element = 'mock_element'465 element = utils.wait_until_first_element_is_found([None, page_element])466 assert page_element == element467def test_wait_until_first_element_is_found_timeout(driver_wrapper, utils):468 # Configure driver mock469 driver_wrapper.driver.find_element.side_effect = NoSuchElementException('Unknown')470 element_locator = (By.ID, 'element_id')471 start_time = time.time()472 with pytest.raises(TimeoutException) as excinfo:473 utils.wait_until_first_element_is_found([element_locator])474 end_time = time.time()475 assert 'None of the page elements has been found after 10 seconds' in str(excinfo.value)476 # find_element has been called more than one time477 driver_wrapper.driver.find_element.assert_called_with(*element_locator)478 # Execution time must be greater than timeout479 assert end_time - start_time > 10480def test_wait_until_first_element_is_found_custom_timeout(driver_wrapper, utils):481 # Configure driver mock482 driver_wrapper.driver.find_element.side_effect = NoSuchElementException('Unknown')483 element_locator = (By.ID, 'element_id')484 start_time = time.time()485 with pytest.raises(TimeoutException) as excinfo:486 utils.wait_until_first_element_is_found([element_locator], timeout=15)487 end_time = time.time()488 assert 'None of the page elements has been found after 15 seconds' in str(excinfo.value)489 # find_element has been called more than one time490 driver_wrapper.driver.find_element.assert_called_with(*element_locator)491 # Execution time must be greater than timeout...

Full Screen

Full Screen

utilities.py

Source:utilities.py Github

copy

Full Screen

...196 def wait_until_element_visible(self, element, timeout=None):197 return self._wait_until(self._expected_condition_find_element_visible, element, timeout)198 def wait_until_element_not_visible(self, element, timeout=None):199 return self._wait_until(self._expected_condition_find_element_not_visible, element, timeout)200 def wait_until_first_element_is_found(self, elements, timeout=None):201 try:202 return self._wait_until(self._expected_condition_find_first_element, elements, timeout)203 except TimeoutException as exception:204 msg = 'None of the page elements has been found after %s seconds'205 timeout = timeout if timeout else self.get_explicitly_wait()206 self.logger.error(msg, timeout)207 exception.msg += "\n {}".format(msg % timeout)208 raise exception209 def wait_until_element_clickable(self, element, timeout=None):210 return self._wait_until(self._expected_condition_find_element_clickable, element, timeout)211 def wait_until_element_stops(self, element, times=1000, timeout=None):212 return self._wait_until(self._expected_condition_find_element_stopped, (element, times), timeout)213 def wait_until_element_contains_text(self, element, text, timeout=None):214 return self._wait_until(self._expected_condition_find_element_containing_text, (element, text), timeout)...

Full Screen

Full Screen

driver_wait_utils.py

Source:driver_wait_utils.py Github

copy

Full Screen

...230 :rtype: selenium.webdriver.remote.webelement.WebElement or appium.webdriver.webelement.WebElement231 :raises TimeoutException: If the element is still visible after the timeout232 """233 return self._wait_until(self._expected_condition_find_element_not_visible, element, timeout)234 def wait_until_first_element_is_found(self, elements, timeout=None):235 """Search list of elements and wait until one of them is found236 :param elements: list of PageElements or element locators as a tuple (locator_type, locator_value) to be found237 sequentially238 :param timeout: max time to wait239 :returns: first element found240 :rtype: toolium.pageelements.PageElement or tuple241 :raises TimeoutException: If no element in the list is found after the timeout242 """243 try:244 return self._wait_until(self._expected_condition_find_first_element, elements, timeout)245 except TimeoutException as exception:246 msg = 'None of the page elements has been found after %s seconds'247 timeout = timeout if timeout else self.get_explicitly_wait()248 self.logger.error(msg, timeout)...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run toolium automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful