def wait_until_page_contains_element(self, timeout=constants.SELENPY_OBJECT_WAIT, error=None): logger.info("Wait until page contains element '{}' in '{}'".format( self.locator(), timeout)) waitingKeywords.wait_until_page_contains_element( self.locator(), timeout, error)
def wait_until_element_is_enabled(self, timeout=constants.SELENPY_OBJECT_WAIT, error=None): logger.info("Wait until element '{}' is enabled in '{}'".format( self.locator(), timeout)) waitingKeywords.wait_until_element_is_enabled(self.locator(), timeout, error)
def wait_until_element_is_disabled(self, timeout=constants.SELENPY_OBJECT_WAIT, error=None): logger.info("Wait until element '{}' is disabled in '{}'".format( self.locator(), timeout)) waitingKeywords._wait_until( lambda: not waitingKeywords.is_element_enabled(self.locator()), "Element '%s' was not disabled in <TIMEOUT>." % self.locator(), timeout, error)
def set_focus_to_element(self, count=constants.SELENPY_DEFAULT_TIMEOUT): logger.info("Set focus to element '{}'".format(self.locator())) temp = 0 while temp < count: try: elementKeywords.set_focus_to_element(self.locator()) break except StaleElementReferenceException: temp += 1
def add_new_building(self, name, parentid=1, description=""): requestData = { "name": name, "description": description, "concreteAssetTypeId": 3, "parentid": parentid } requestData = json.dumps(requestData) headers = self._make_header({'Content-Type': 'application/json' }) logger.info("Request data: " + requestData) resp = self.client.post(self.basedPath, headers=headers, data=requestData, timeout=constants.SELENPY_API_TIMEOUT) idValue = resp.json()['id'] return idValue
def wait_until_element_does_not_contain(self, text, timeout=constants. SELENPY_OBJECT_WAIT, error=None): logger.info( "Wait until element '{}' does not contain '{}' in '{}'".format( self.locator(), text, timeout)) waitingKeywords.wait_until_element_does_not_contain( self.locator(), text, timeout, error)
def wait_for_element_outer_html_not_change( self, timeout=constants.SELENPY_OBJECT_WAIT): logger.info( "Wait for outer HTML of element '{}' not change in '{}'".format( self.locator(), timeout)) curOuterHtml = self.get_element_attribute("outerHTML") timeoutMil = time.time() + timeout while time.time() <= timeoutMil: time.sleep(0.5) tmp = self.get_element_attribute("outerHTML") if tmp == curOuterHtml: break curOuterHtml = tmp
def wait_until_element_attribute_does_not_contain(self, attribute, value, timeout=constants. SELENPY_OBJECT_WAIT): logger.info( "Wait until attribute '{}' of element '{}' does not contain {} in '{}'" .format(attribute, self.locator(), value, timeout)) timeoutMil = time.time() + timeout while time.time() <= timeoutMil: time.sleep(0.3) attValue = self.get_element_attribute(attribute) if value not in attValue: return True return False
def _wait_for_processing(self, visibleTimeout=1.5, timeout=60): logger.info("Wait for processing", True) self.processingIcon.return_wait_for_element_visible_status( visibleTimeout) self.processingIcon.return_wait_for_element_invisible_status(timeout) """
def wait_until_element_is_inactive(self, timeout=constants.SELENPY_OBJECT_WAIT): logger.info("Wait until element '{}' is inactive in {}".format( self.locator(), timeout)) return self.wait_until_element_attribute_contains( "class", "inactive", timeout)