def wait_for_ajax(self, jstoolkit=js_toolkit.GLOBAL_WAIT_CONDITION, wait_time=0):
     wait_time_out = ConfigurationsManager().get_int_for_key(ApplicationProperties.SELENIUM_WAIT_TIMEOUT) \
         if wait_time == 0 else wait_time
     message = 'Wait time out for ajax to complete'
     return WebDriverWait(base_driver.BaseDriver().get_driver(), wait_time_out).until(
         WaitForAjax(jstoolkit), message
     )
 def wait_for_css_style(self, style_name_, value_, wait_time=0):
     wait_time_out = ConfigurationsManager().get_int_for_key(ApplicationProperties.SELENIUM_WAIT_TIMEOUT) \
         if wait_time == 0 else wait_time
     message = "Wait time out for " + self.description + " have css style " + style_name_ + "=" + value_
     return WebDriverWait(base_driver.BaseDriver().get_driver(),
                          wait_time_out).until(
                              WaitForCssStyle((self.by, self.locator),
                                              style_name_, value_), message)
 def wait_for_not_css_class(self, class_name_, wait_time=0):
     wait_time_out = ConfigurationsManager().get_int_for_key(ApplicationProperties.SELENIUM_WAIT_TIMEOUT) \
         if wait_time == 0 else wait_time
     message = "Wait time out for " + self.description + " have not css class " + class_name_
     return WebDriverWait(base_driver.BaseDriver().get_driver(),
                          wait_time_out).until(
                              WaitForNotCssClass((self.by, self.locator),
                                                 class_name_), message)
 def wait_for_not_attribute(self, attr_, value_, wait_time=0):
     wait_time_out = ConfigurationsManager().get_int_for_key(ApplicationProperties.SELENIUM_WAIT_TIMEOUT) \
         if wait_time == 0 else wait_time
     message = "Wait time out for " + self.description + " " + attr_ + " != " + value_
     return WebDriverWait(base_driver.BaseDriver().get_driver(),
                          wait_time_out).until(
                              WaitForNotAttribute((self.by, self.locator),
                                                  attr_, value_), message)
 def wait_for_not_selected(self, wait_time=0):
     wait_time_out = ConfigurationsManager().get_int_for_key(ApplicationProperties.SELENIUM_WAIT_TIMEOUT) \
         if wait_time == 0 else wait_time
     message = "Wait time out for " + self.description + " not to be selected"
     return WebDriverWait(base_driver.BaseDriver().get_driver(),
                          wait_time_out).until(
                              WaitForNotSelected((self.by, self.locator)),
                              message)
 def wait_for_not_containing_text(self, text_, wait_time=0):
     wait_time_out = ConfigurationsManager().get_int_for_key(ApplicationProperties.SELENIUM_WAIT_TIMEOUT) \
         if wait_time == 0 else wait_time
     message = "Wait time out for " + self.description + " containing text not " + text_
     return WebDriverWait(base_driver.BaseDriver().get_driver(),
                          wait_time_out).until(
                              WaitForNotContainingText(
                                  (self.by, self.locator), text_), message)
 def wait_for_visible(self, wait_time=0):
     wait_time_out = ConfigurationsManager().get_int_for_key(ApplicationProperties.SELENIUM_WAIT_TIMEOUT) \
         if wait_time == 0 else wait_time
     message = 'Wait time out for ' + self.description + ' to be visible'
     return WebDriverWait(base_driver.BaseDriver().get_driver(),
                          wait_time_out).until(
                              WaitForVisible((self.by, self.locator)),
                              message)
    def __init__(self, key, cacheable=False):

        self.locator = None
        self.by = None
        self.description = None
        self._parent_element = None
        self._listeners = []
        self.cacheable = cacheable

        if isinstance(key, str) and len(key) > 0:
            value = ConfigurationsManager().get_str_for_key(key,
                                                            default_value=key)
            #print("30"+value+" loading")
            try:
                locator = json.loads(value)['locator']
                # self.description = json.loads(value)['description']
            except ValueError:
                locator = value
                # self.description = value
            parent = base_driver.BaseDriver().get_driver()
            self.by, self.locator = get_find_by(locator)
            if parent.w3c and parent._is_remote is False:
                if self.by == By.ID:
                    self.by = By.CSS_SELECTOR
                    self.locator = '[id="%s"]' % self.locator
                elif self.by == By.TAG_NAME:
                    self.by = By.CSS_SELECTOR
                elif self.by == By.CLASS_NAME:
                    self.by = By.CSS_SELECTOR
                    self.locator = ".%s" % self.locator
                elif self.by == By.NAME:
                    self.by = By.CSS_SELECTOR
                    self.locator = '[name="%s"]' % self.locator
            self.description = self.locator
            self.cacheable = cacheable
            self._id = -1
            RemoteWebElement.__init__(self,
                                      parent=parent,
                                      id_=self.id,
                                      w3c=parent.w3c)

        if ConfigurationsManager().contains_key(
                ApplicationProperties.WEBELEMENT_COMMAND_LISTENERS):
            class_name = ConfigurationsManager().get_str_for_key(
                ApplicationProperties.WEBELEMENT_COMMAND_LISTENERS)
            self._listeners.append(load_class(class_name)())
Ejemplo n.º 9
0
 def take_screen_shot(self):
     filename = os.path.join(os.getenv('REPORT_DIR'), 'img', str(uuid.uuid4()) + '.png')
     base_driver.BaseDriver().get_driver().save_screenshot(filename=filename)
     self.obj_check_point.screenshot = filename
 def log_with_screenshot(message, message_type=MessageType.Info):
     filename = os.path.join(os.getenv('REPORT_DIR'), 'img',
                             str(uuid.uuid4()) + '.png')
     base_driver.BaseDriver().get_driver().save_screenshot(
         filename=filename)
     Reporter().add_check_point(message, message_type, screen_shot=filename)
 def on_wait_new(self, command_tracker):
     return WebDriverWait(base_driver.BaseDriver().get_driver(), 30)
 def wait_for_not_visible(self, wait_time=0):
     wait_time_out = ConfigurationsManager().get_int_for_key(ApplicationProperties.SELENIUM_WAIT_TIMEOUT) \
         if wait_time == 0 else wait_time
     return WebDriverWait(base_driver.BaseDriver().get_driver(),
                          wait_time_out).until(
                              WaitForNotVisible((self.by, self.locator)))