def child_by_description(self, txt, **kwargs): if "allow_scroll_search" in kwargs: allow_scroll_search = kwargs.pop("allow_scroll_search") name = self.jsonrpc.childByDescription( self.selector, Selector(**kwargs), txt, allow_scroll_search ) else: name = self.jsonrpc.childByDescription( self.selector, Selector(**kwargs), txt ) return AutomatorDeviceNamedUiObject(self.device, name)
def __view_beside(self, onsideof, **kwargs): bounds = self.info["bounds"] min_dist, found = -1, None for ui in AutomatorDeviceObject(self.device, Selector(**kwargs)): dist = onsideof(bounds, ui.info["bounds"]) if dist >= 0 and (min_dist < 0 or dist < min_dist): min_dist, found = dist, ui return found
def child_by_instance(self, inst, **kwargs): return AutomatorDeviceNamedUiObject( self.device, self.jsonrpc.childByInstance(self.selector, Selector(**kwargs), inst) )
def child(self, **kwargs): return AutomatorDeviceNamedUiObject( self.device, self.jsonrpc.getChild(self.selector, Selector(**kwargs)) )
def sibling(self, **kwargs): return AutomatorDeviceNamedUiObject( self.device, self.jsonrpc.getFromParent(self.selector, Selector(**kwargs)) )
def to(obj, *args, **kwargs): if len(args) >= 2 or "x" in kwargs or "y" in kwargs: drag_to = lambda x, y, steps=100: self.jsonrpc.dragTo(self.selector, x, y, steps) else: drag_to = lambda steps=100, **kwargs: self.jsonrpc.dragTo(self.selector, Selector(**kwargs), steps) return drag_to(*args, **kwargs)
def click(self, **kwargs): obj.server.jsonrpc.registerClickUiObjectWatcher(name, self.__selectors, Selector(**kwargs))
def when(self, **kwargs): self.__selectors.append(Selector(**kwargs)) return self
def __call__(self, **kwargs): return AutomatorDeviceObject(self, Selector(**kwargs))
def __scroll_to(vertical, **kwargs): return self.jsonrpc.scrollTo(self.selector, Selector(**kwargs), vertical)