Ejemplo n.º 1
0
 def wait_prop_chage_to(self, prop_name, new_val, timeout=None):
     prop_id = Adapter.try_get_property_id(prop_name)
     if prop_id is None:
         raise FailExit('...')
     wait_while(
         lambda: new_val != self._automation_element.
         GetCurrentPropertyValue(prop_id), timeout)
Ejemplo n.º 2
0
 def wait_prop_chage(self, prop_name, timeout=None):
     prop_id = Adapter.try_get_property_id(prop_name)
     if prop_id is None:
         raise FailExit('...')
     self.__wait_chages__prev_prop = self._automation_element.GetCurrentPropertyValue(
         prop_id)
     wait_while(
         lambda: self.__wait_chages__prev_prop == self._automation_element.
         GetCurrentPropertyValue(prop_id), timeout)
Ejemplo n.º 3
0
    def _change_state_to(self, target_state, method, check_timeout):
        """
        Изменением состояние CheckBox на желаемое.

        :param bool target_state: Желаемое состояние CheckBox (`True` -- галочка установлена)
        :param str method: Метод проверки: `click` -- через клик в центр контрола, а `uia` --
                           через `TogglePattern`.
        """
        # Если уже, где надо, то просто выходим:
        if self._check_state(target_state, method):
            return False

        # Меняем состояние:
        if method == 'click':
            self.region.click()

        else:  # Метод 'uia':
            init_state = self._state('uia')
            self._uia_toogle()

            # Ждем смены состояния на новое:
            if not wait_while(lambda: self._check_state(init_state, 'uia'),
                              check_timeout):
                raise Exception(
                    'CheckBox.uncheck(...): error change state to {}: init = {}, current = {} (timeout {})'
                    .format(target_state, init_state, self._state('uia'),
                            check_timeout))

            # Если сменилось на новое, но не желаемое, значит состояний три и надо еще раз Toogle():
            if not self._check_state(target_state, 'uia'):
                self._uia_toogle()

        # Дожидаемся жалаемого состояния:
        if not wait_while_not(lambda: self._check_state(target_state, method),
                              check_timeout):
            raise Exception(
                'CheckBox.uncheck(...): checkbox is still {} after {} seconds'.
                format(self._state(method), check_timeout))

        return True
Ejemplo n.º 4
0
 def wait_for_button_unmarked(self, timeout=5):
     if not wait_while(self.is_button_marked, timeout):
         raise Exception(
             'pikuli.HWNDElement: wait_for_button_unmarked(...) of %s was failed'
             % str(self))
Ejemplo n.º 5
0
 def wait_for_invisible(self, timeout=5):
     if not wait_while(self.is_visible, timeout):
         raise Exception(
             'pikuli.HWNDElement: wait_for_invisible(...) of %s was failed'
             % str(self))
Ejemplo n.º 6
0
 def wait_vanish(self, **kwargs):
     timeout = kwargs.pop('timeout', None)
     return wait_while(
         lambda: self.find(**dict(kwargs, exception_on_find_fail=False)),
         timeout)