From 36553c0b005cb88902e5e50227dcc3793e6318e9 Mon Sep 17 00:00:00 2001 From: debugtalk Date: Wed, 27 Jul 2022 22:02:54 +0800 Subject: [PATCH] feat: click on relative coordinate --- hrp/step_ios_ui.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/hrp/step_ios_ui.go b/hrp/step_ios_ui.go index 3f50a502..cf162b41 100644 --- a/hrp/step_ios_ui.go +++ b/hrp/step_ios_ui.go @@ -348,11 +348,21 @@ func (w *wdaClient) doAction(action MobileAction) error { case uiClick: // click on coordinate if location, ok := action.Params.([]int); ok { + // absolute x,y if len(location) != 2 { return fmt.Errorf("invalid click location params: %v", location) } return w.Driver.Tap(location[0], location[1]) } + if location, ok := action.Params.([]float64); ok { + // relative x,y of window size + if len(location) != 2 { + return fmt.Errorf("invalid click location params: %v", location) + } + x := location[0] * float64(w.WindowSize.Width) + y := location[1] * float64(w.WindowSize.Height) + return w.Driver.TapFloat(x, y) + } // click on name or xpath if param, ok := action.Params.(string); ok { ele, err := w.findElement(param)