From 5f8835a60a1ae26a2bd50b1d6f465cba322226a2 Mon Sep 17 00:00:00 2001 From: "lilong.129" Date: Wed, 18 Dec 2024 18:03:16 +0800 Subject: [PATCH] fix: use Driver.POST instead of httpPOST to avoid loop calling --- hrp/internal/version/VERSION | 2 +- hrp/pkg/uixt/ios_wda_driver.go | 18 ++++++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/hrp/internal/version/VERSION b/hrp/internal/version/VERSION index 832b83a0..66ac72f0 100644 --- a/hrp/internal/version/VERSION +++ b/hrp/internal/version/VERSION @@ -1 +1 @@ -v5.0.0+2412161739 +v5.0.0+2412181803 diff --git a/hrp/pkg/uixt/ios_wda_driver.go b/hrp/pkg/uixt/ios_wda_driver.go index 18227aaf..5f3dfcc7 100644 --- a/hrp/pkg/uixt/ios_wda_driver.go +++ b/hrp/pkg/uixt/ios_wda_driver.go @@ -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