fix: use Driver.POST instead of httpPOST to avoid loop calling

This commit is contained in:
lilong.129
2024-12-18 18:03:16 +08:00
parent 11f8366878
commit 5f8835a60a
2 changed files with 17 additions and 3 deletions

View File

@@ -1 +1 @@
v5.0.0+2412161739
v5.0.0+2412181803

View File

@@ -40,10 +40,22 @@ func (wd *wdaDriver) resetSession() error {
capabilities := NewCapabilities()
capabilities.WithDefaultAlertAction(AlertActionAccept)
sessionInfo, err := wd.NewSession(capabilities)
data := map[string]interface{}{
"capabilities": map[string]interface{}{
"alwaysMatch": capabilities,
},
}
// Notice: use Driver.POST instead of httpPOST to avoid loop calling
rawResp, err := wd.Driver.POST(data, "/session")
if err != nil {
return err
}
sessionInfo, err := rawResp.valueConvertToSessionInfo()
if err != nil {
return err
}
// update session ID
wd.session.ID = sessionInfo.SessionId
return nil
}
@@ -110,7 +122,9 @@ func (wd *wdaDriver) NewSession(capabilities Capabilities) (sessionInfo SessionI
if len(capabilities) == 0 {
data["capabilities"] = make(map[string]interface{})
} else {
data["capabilities"] = map[string]interface{}{"alwaysMatch": capabilities}
data["capabilities"] = map[string]interface{}{
"alwaysMatch": capabilities,
}
}
var rawResp rawResponse