def _pointer_move(device, action): del action["duration"] url = "/moveto" if device["parameters"]["pointerType"] == "mouse" else "/touch/move" origin = action["origin"] if origin == "pointer": data = {"xoffset": action["x"], "yoffset": action["y"]} elif constants.WEB_ELEMENT in origin: data = {"element": origin[constants.WEB_ELEMENT]} else: raise OperationNotSupported(f"Cannot move using origin {origin}") return url, "POST", data
def _pointer_move(device, action): del action['duration'] url = '/moveto' if device['parameters'][ 'pointerType'] == 'mouse' else '/touch/move' origin = action['origin'] if origin == 'pointer': data = { 'xoffset': action['x'], 'yoffset': action['y'], } elif constants.WEB_ELEMENT in origin: data = { 'element': origin[constants.WEB_ELEMENT], } else: raise OperationNotSupported(f'Cannot move using origin {origin}') return url, 'POST', data
def transform_legacy_actions( devices: List[Dict[str, Any]] ) -> Iterator[Tuple[str, str, Dict[str, Any]]]: for legacy_action in get_legacy_actions(devices): device_type = legacy_action.device["type"] action_type = legacy_action.action["type"] device = { key: value for key, value in legacy_action.device.items() if key != "type" } action = { key: value for key, value in legacy_action.action.items() if key != "type" } try: handler = legacy_actions[(device_type, action_type)] except KeyError: raise OperationNotSupported( f"Unsupported action {action_type} for device_type {device_type}" ) action = handler(device, action) if action is not None: yield action