mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-11 10:00:23 +08:00
change: update NewData function
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user