fix: 修复duration设置不准确的问题

This commit is contained in:
余泓铮
2024-06-12 11:37:29 +08:00
parent c670a4cef9
commit c5712b1a66
3 changed files with 20 additions and 15 deletions
+1 -1
View File
@@ -1 +1 @@
v4.5.1 v4.5.6
+10 -11
View File
@@ -216,17 +216,8 @@ func TestDriver_Tap(t *testing.T) {
} }
func TestDriver_Swipe(t *testing.T) { func TestDriver_Swipe(t *testing.T) {
driver, err := NewUIADriver(nil, uiaServerURL) setupAndroid(t)
if err != nil { err := driverExt.Driver.Swipe(400, 1000, 400, 500, WithPressDuration(0.5))
t.Fatal(err)
}
err = driver.Swipe(400, 1000, 400, 500, WithPressDuration(2000))
if err != nil {
t.Fatal(err)
}
err = driver.SwipeFloat(400, 555.5, 400, 1255.5)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@@ -307,6 +298,14 @@ func TestDriver_SetRotation(t *testing.T) {
} }
} }
func TestDriver_GetOrientation(t *testing.T) {
setupAndroid(t)
_, _ = driverExt.Driver.AppTerminate("com.quark.browser")
_ = driverExt.Driver.AppLaunch("com.quark.browser")
time.Sleep(2 * time.Second)
_ = driverExt.Driver.Homescreen()
}
func TestUiSelectorHelper_NewUiSelectorHelper(t *testing.T) { func TestUiSelectorHelper_NewUiSelectorHelper(t *testing.T) {
uiSelector := NewUiSelectorHelper().Text("a").String() uiSelector := NewUiSelectorHelper().Text("a").String()
if uiSelector != `new UiSelector().text("a");` { if uiSelector != `new UiSelector().text("a");` {
+9 -3
View File
@@ -29,6 +29,7 @@ func NewUIADriver(capabilities Capabilities, urlPrefix string) (driver *uiaDrive
log.Info().Msg("init uiautomator2 driver") log.Info().Msg("init uiautomator2 driver")
if capabilities == nil { if capabilities == nil {
capabilities = NewCapabilities() capabilities = NewCapabilities()
capabilities.WithWaitForIdleTimeout(0)
} }
driver = new(uiaDriver) driver = new(uiaDriver)
if driver.urlPrefix, err = url.Parse(urlPrefix); err != nil { if driver.urlPrefix, err = url.Parse(urlPrefix); err != nil {
@@ -141,7 +142,12 @@ func (ud *uiaDriver) httpDELETE(pathElem ...string) (rawResp rawResponse, err er
func (ud *uiaDriver) NewSession(capabilities Capabilities) (sessionInfo SessionInfo, err error) { func (ud *uiaDriver) NewSession(capabilities Capabilities) (sessionInfo SessionInfo, err error) {
// register(postHandler, new NewSession("/wd/hub/session")) // register(postHandler, new NewSession("/wd/hub/session"))
var rawResp rawResponse var rawResp rawResponse
data := map[string]interface{}{"capabilities": capabilities} data := make(map[string]interface{})
if len(capabilities) == 0 {
data["capabilities"] = make(map[string]interface{})
} else {
data["capabilities"] = map[string]interface{}{"alwaysMatch": capabilities}
}
if rawResp, err = ud.Driver.httpPOST(data, "/session"); err != nil { if rawResp, err = ud.Driver.httpPOST(data, "/session"); err != nil {
return SessionInfo{SessionId: ""}, err return SessionInfo{SessionId: ""}, err
} }
@@ -293,7 +299,7 @@ func (ud *uiaDriver) TapFloat(x, y float64, options ...ActionOption) (err error)
duration := 100.0 duration := 100.0
if actionOptions.PressDuration > 0 { if actionOptions.PressDuration > 0 {
duration = actionOptions.PressDuration duration = actionOptions.PressDuration * 1000
} }
data := map[string]interface{}{ data := map[string]interface{}{
"actions": []interface{}{ "actions": []interface{}{
@@ -399,7 +405,7 @@ func (ud *uiaDriver) SwipeFloat(fromX, fromY, toX, toY float64, options ...Actio
duration := 200.0 duration := 200.0
if actionOptions.PressDuration > 0 { if actionOptions.PressDuration > 0 {
duration = actionOptions.PressDuration duration = actionOptions.PressDuration * 1000
} }
data := map[string]interface{}{ data := map[string]interface{}{
"actions": []interface{}{ "actions": []interface{}{