From 317ec4fde80df5daf72ac1de6fe3ed2e79eed488 Mon Sep 17 00:00:00 2001 From: "xucong.053" Date: Mon, 17 Oct 2022 15:28:46 +0800 Subject: [PATCH] change: update NewData function --- hrp/pkg/uixt/android_driver.go | 15 +++++---------- hrp/pkg/uixt/android_elment.go | 3 +-- hrp/pkg/uixt/interface.go | 14 ++------------ hrp/pkg/uixt/ios_driver.go | 9 +++------ hrp/pkg/uixt/ios_element.go | 3 +-- hrp/pkg/uixt/ocr_vedem.go | 4 ++-- hrp/pkg/uixt/tap.go | 6 +++--- 7 files changed, 17 insertions(+), 37 deletions(-) diff --git a/hrp/pkg/uixt/android_driver.go b/hrp/pkg/uixt/android_driver.go index f4ed98f9..3f1bdea0 100644 --- a/hrp/pkg/uixt/android_driver.go +++ b/hrp/pkg/uixt/android_driver.go @@ -492,8 +492,7 @@ func (ud *uiaDriver) TapFloat(x, y float64, options ...DataOption) (err error) { "y": y, } // new data options in post data for extra uiautomator configurations - d := NewData(options...) - d.MergeData(data) + d := NewData(data, options...) _, err = ud.httpPOST(d.Data, "/session", ud.sessionId, "appium/tap") return @@ -551,8 +550,7 @@ func (ud *uiaDriver) DragFloat(fromX, fromY, toX, toY float64, options ...DataOp } // new data options in post data for extra uiautomator configurations - d := NewData(options...) - d.MergeData(data) + d := NewData(data, options...) return ud._drag(d.Data) } @@ -567,8 +565,7 @@ func (ud *uiaDriver) _swipe(startX, startY, endX, endY interface{}, options ...D } // new data options in post data for extra uiautomator configurations - d := NewData(options...) - d.MergeData(data) + d := NewData(data, options...) _, err = ud.httpPOST(d.Data, "/session", ud.sessionId, "touch/perform") return @@ -660,8 +657,7 @@ func (ud *uiaDriver) SendKeys(text string, options ...DataOption) (err error) { "text": text, } // new data options in post data for extra uiautomator configurations - d := NewData(options...) - d.MergeData(data) + d := NewData(data, options...) _, err = ud.httpPOST(d.Data, "/session", ud.sessionId, "keys") return @@ -672,8 +668,7 @@ func (ud *uiaDriver) Input(text string, options ...DataOption) (err error) { "view": text, } // new data options in post data for extra uiautomator configurations - d := NewData(options...) - d.MergeData(data) + d := NewData(data, options...) var element WebElement if valuetext, ok := d.Data["textview"]; ok { diff --git a/hrp/pkg/uixt/android_elment.go b/hrp/pkg/uixt/android_elment.go index 60538955..9d45cd39 100644 --- a/hrp/pkg/uixt/android_elment.go +++ b/hrp/pkg/uixt/android_elment.go @@ -30,8 +30,7 @@ func (ue uiaElement) SendKeys(text string, options ...DataOption) (err error) { } // new data options in post data for extra uiautomator configurations - d := NewData(options...) - d.MergeData(data) + d := NewData(data, options...) _, err = ue.parent.httpPOST(d.Data, "/session", ue.parent.sessionId, "/element", ue.id, "/value") return diff --git a/hrp/pkg/uixt/interface.go b/hrp/pkg/uixt/interface.go index ce07f28a..f922ee00 100644 --- a/hrp/pkg/uixt/interface.go +++ b/hrp/pkg/uixt/interface.go @@ -837,9 +837,9 @@ type DataOptions struct { IgnoreNotFoundError bool // ignore error if target element not found } -func NewData(options ...DataOption) *DataOptions { +func NewData(d map[string]interface{}, options ...DataOption) *DataOptions { data := &DataOptions{ - Data: map[string]interface{}{}, + Data: d, } for _, option := range options { option(data) @@ -868,16 +868,6 @@ func NewData(options ...DataOption) *DataOptions { return data } -func (d *DataOptions) MergeData(data map[string]interface{}) { - for key, value := range data { - d.Data[key] = value - } -} - -func (d *DataOptions) AddData(key string, value interface{}) { - d.Data[key] = value -} - // current implemeted device: IOSDevice, AndroidDevice type Device interface { UUID() string diff --git a/hrp/pkg/uixt/ios_driver.go b/hrp/pkg/uixt/ios_driver.go index e9593fbf..9db911e8 100644 --- a/hrp/pkg/uixt/ios_driver.go +++ b/hrp/pkg/uixt/ios_driver.go @@ -380,8 +380,7 @@ func (wd *wdaDriver) TapFloat(x, y float64, options ...DataOption) (err error) { "y": y, } // new data options in post data for extra WDA configurations - d := NewData(options...) - d.MergeData(data) + d := NewData(data, options...) _, err = wd.httpPOST(d.Data, "/session", wd.sessionId, "/wda/tap/0") return @@ -433,8 +432,7 @@ func (wd *wdaDriver) DragFloat(fromX, fromY, toX, toY float64, options ...DataOp } // new data options in post data for extra WDA configurations - d := NewData(options...) - d.MergeData(data) + d := NewData(data, options...) _, err = wd.httpPOST(d.Data, "/session", wd.sessionId, "/wda/dragfromtoforduration") return @@ -509,8 +507,7 @@ func (wd *wdaDriver) SendKeys(text string, options ...DataOption) (err error) { data := map[string]interface{}{"value": strings.Split(text, "")} // new data options in post data for extra WDA configurations - d := NewData(options...) - d.MergeData(data) + d := NewData(data, options...) _, err = wd.httpPOST(d.Data, "/session", wd.sessionId, "/wda/keys") return diff --git a/hrp/pkg/uixt/ios_element.go b/hrp/pkg/uixt/ios_element.go index e4ca6300..9e2208b5 100644 --- a/hrp/pkg/uixt/ios_element.go +++ b/hrp/pkg/uixt/ios_element.go @@ -31,8 +31,7 @@ func (we wdaElement) SendKeys(text string, options ...DataOption) (err error) { "value": strings.Split(text, ""), } // new data options in post data for extra uiautomator configurations - d := NewData(options...) - d.MergeData(data) + d := NewData(data, options...) _, err = we.parent.httpPOST(d.Data, "/session", we.parent.sessionId, "/element", we.id, "/value") return diff --git a/hrp/pkg/uixt/ocr_vedem.go b/hrp/pkg/uixt/ocr_vedem.go index cca5ea7d..f1b58366 100644 --- a/hrp/pkg/uixt/ocr_vedem.go +++ b/hrp/pkg/uixt/ocr_vedem.go @@ -110,7 +110,7 @@ func getLogID(header http.Header) string { } func (s *veDEMOCRService) FindText(text string, imageBuf []byte, options ...DataOption) (rect image.Rectangle, err error) { - data := NewData(options...) + data := NewData(map[string]interface{}{}, options...) ocrResults, err := s.getOCRResult(imageBuf) if err != nil { @@ -184,7 +184,7 @@ func (s *veDEMOCRService) FindTexts(texts []string, imageBuf []byte, options ... return } - data := NewData(options...) + data := NewData(map[string]interface{}{}, options...) ocrTexts := map[string]bool{} var success bool diff --git a/hrp/pkg/uixt/tap.go b/hrp/pkg/uixt/tap.go index d7a642a2..1629f137 100644 --- a/hrp/pkg/uixt/tap.go +++ b/hrp/pkg/uixt/tap.go @@ -65,7 +65,7 @@ func (dExt *DriverExt) GetImageXY(imagePath string, options ...DataOption) (poin } func (dExt *DriverExt) TapByOCR(ocrText string, options ...DataOption) error { - data := NewData(options...) + data := NewData(map[string]interface{}{}, options...) point, err := dExt.GetTextXY(ocrText, options...) if err != nil { @@ -79,7 +79,7 @@ func (dExt *DriverExt) TapByOCR(ocrText string, options ...DataOption) error { } func (dExt *DriverExt) TapByCV(imagePath string, options ...DataOption) error { - data := NewData(options...) + data := NewData(map[string]interface{}{}, options...) point, err := dExt.GetImageXY(imagePath, options...) if err != nil { @@ -103,7 +103,7 @@ func (dExt *DriverExt) TapOffset(param string, xOffset, yOffset float64, options return ele.Click() } - data := NewData(options...) + data := NewData(map[string]interface{}{}, options...) x, y, width, height, err := dExt.FindUIRectInUIKit(param, options...) if err != nil {