change: update NewData function

This commit is contained in:
xucong.053
2022-10-17 15:28:46 +08:00
parent 299a5b2c65
commit f553755124
7 changed files with 17 additions and 37 deletions

View File

@@ -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 {

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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 {