mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-12 02:21:29 +08:00
feat: check WDA server status before create session
This commit is contained in:
@@ -1 +1 @@
|
||||
v5.0.0+2412101121
|
||||
v5.0.0+2412102150
|
||||
|
||||
@@ -430,7 +430,6 @@ func (dev *IOSDevice) NewDriver(options ...DriverOption) (driverExt *DriverExt,
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "failed to init Stub driver")
|
||||
}
|
||||
|
||||
} else {
|
||||
driver, err = dev.NewHTTPDriver(capabilities)
|
||||
if err != nil {
|
||||
@@ -774,6 +773,20 @@ func (dev *IOSDevice) NewHTTPDriver(capabilities Capabilities) (driver IWebDrive
|
||||
if wd.urlPrefix, err = url.Parse(fmt.Sprintf("http://%s:%d", host, localPort)); err != nil {
|
||||
return nil, errors.Wrap(code.DeviceHTTPDriverError, err.Error())
|
||||
}
|
||||
|
||||
// check WDA server status
|
||||
status, err := wd.Status()
|
||||
if err != nil {
|
||||
return nil, errors.Wrapf(code.DeviceHTTPDriverError,
|
||||
"get WDA server status failed: %s", err.Error())
|
||||
}
|
||||
log.Info().Interface("status", status).Msg("get WDA server status")
|
||||
if status.State != "success" {
|
||||
return nil, errors.Wrap(code.DeviceHTTPDriverError,
|
||||
"WDA server status is not success")
|
||||
}
|
||||
|
||||
// create new session
|
||||
var sessionInfo SessionInfo
|
||||
if sessionInfo, err = wd.NewSession(capabilities); err != nil {
|
||||
return nil, errors.Wrap(code.DeviceHTTPDriverError, err.Error())
|
||||
|
||||
@@ -6,6 +6,7 @@ import (
|
||||
builtinJSON "encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
"math"
|
||||
"net"
|
||||
"net/http"
|
||||
"net/url"
|
||||
@@ -559,10 +560,10 @@ func (wd *wdaDriver) Drag(fromX, fromY, toX, toY float64, options ...ActionOptio
|
||||
toY += actionOptions.getRandomOffset()
|
||||
|
||||
data := map[string]interface{}{
|
||||
"fromX": fromX,
|
||||
"fromY": fromY,
|
||||
"toX": toX,
|
||||
"toY": toY,
|
||||
"fromX": math.Round(fromX*10) / 10,
|
||||
"fromY": math.Round(fromY*10) / 10,
|
||||
"toX": math.Round(toX*10) / 10,
|
||||
"toY": math.Round(toY*10) / 10,
|
||||
}
|
||||
if actionOptions.PressDuration > 0 {
|
||||
data["pressDuration"] = actionOptions.PressDuration
|
||||
|
||||
Reference in New Issue
Block a user