From a6d6b5bad29343117119281873be013969908d0d Mon Sep 17 00:00:00 2001 From: "lilong.129" Date: Thu, 26 Jun 2025 19:39:54 +0800 Subject: [PATCH] change: update tests --- examples/uitest/demo_ios_wda_log.json | 61 +++++++++++++++++------- examples/uitest/demo_ios_wda_log_test.go | 3 +- internal/version/VERSION | 2 +- uixt/ios_device.go | 3 ++ uixt/option/ios.go | 25 ---------- 5 files changed, 51 insertions(+), 43 deletions(-) diff --git a/examples/uitest/demo_ios_wda_log.json b/examples/uitest/demo_ios_wda_log.json index c37defc7..32a84e8e 100644 --- a/examples/uitest/demo_ios_wda_log.json +++ b/examples/uitest/demo_ios_wda_log.json @@ -8,8 +8,7 @@ { "port": 8700, "mjpeg_port": 8800, - "log_on": true, - "xctest_bundle_id": "com.gtf.wda.runner.xctrunner" + "log_on": true } ] }, @@ -17,6 +16,7 @@ { "name": "启动抖音", "ios": { + "os_type": "ios", "actions": [ { "method": "home" @@ -28,8 +28,10 @@ { "method": "swipe_to_tap_app", "params": "$app_name", - "identifier": "启动抖音", - "max_retry_times": 5 + "options": { + "identifier": "启动抖音", + "max_retry_times": 5 + } }, { "method": "sleep", @@ -49,11 +51,14 @@ { "name": "处理青少年弹窗", "ios": { + "os_type": "ios", "actions": [ { "method": "tap_ocr", "params": "我知道了", - "ignore_NotFoundError": true + "options": { + "ignore_NotFoundError": true + } } ] } @@ -61,11 +66,14 @@ { "name": "进入购物页", "ios": { + "os_type": "ios", "actions": [ { "method": "tap_ocr", "params": "商城", - "identifier": "点击商城" + "options": { + "identifier": "点击商城" + } }, { "method": "sleep", @@ -77,11 +85,14 @@ { "name": "进入推荐页", "ios": { + "os_type": "ios", "actions": [ { "method": "tap_ocr", "params": "推荐", - "identifier": "点击推荐" + "options": { + "identifier": "点击推荐" + } }, { "method": "sleep", @@ -93,29 +104,36 @@ { "name": "向上滑动 2 次", "ios": { + "os_type": "ios", "actions": [ { - "method": "swipe", + "method": "swipe_direction", "params": "up", - "identifier": "第 1 次上划" + "options": { + "identifier": "第 1 次上划" + } }, { "method": "sleep", "params": 2 }, { - "method": "swipe", + "method": "swipe_direction", "params": "up", - "identifier": "第 2 次上划" + "options": { + "identifier": "第 2 次上划" + } }, { "method": "sleep", "params": 2 }, { - "method": "swipe", + "method": "swipe_direction", "params": "up", - "identifier": "第 3 次上划" + "options": { + "identifier": "第 3 次上划" + } }, { "method": "sleep", @@ -127,7 +145,9 @@ 0.9, 0.1 ], - "identifier": "点击进入搜索框" + "options": { + "identifier": "点击进入搜索框" + } }, { "method": "sleep", @@ -135,8 +155,17 @@ }, { "method": "input", - "params": "httprunner", - "identifier": "输入搜索关键词" + "params": "httprunner 发版记录", + "options": { + "identifier": "输入搜索关键词" + } + }, + { + "method": "tap_ocr", + "params": "搜索", + "options": { + "identifier": "点击搜索" + } } ] } diff --git a/examples/uitest/demo_ios_wda_log_test.go b/examples/uitest/demo_ios_wda_log_test.go index 30407c0d..35a7c8de 100644 --- a/examples/uitest/demo_ios_wda_log_test.go +++ b/examples/uitest/demo_ios_wda_log_test.go @@ -43,7 +43,8 @@ func TestWDALog(t *testing.T) { SwipeUp(option.WithIdentifier("第 2 次上划")).Sleep(2). SwipeUp(option.WithIdentifier("第 3 次上划")).Sleep(2). TapXY(0.9, 0.1, option.WithIdentifier("点击进入搜索框")).Sleep(2). - Input("httprunner", option.WithIdentifier("输入搜索关键词")), + Input("httprunner 发版记录", option.WithIdentifier("输入搜索关键词")). + TapByOCR("搜索", option.WithIdentifier("点击搜索")), }, } diff --git a/internal/version/VERSION b/internal/version/VERSION index ad19c186..4d1857a1 100644 --- a/internal/version/VERSION +++ b/internal/version/VERSION @@ -1 +1 @@ -v5.0.0-beta-2506261907 +v5.0.0-beta-2506261939 diff --git a/uixt/ios_device.go b/uixt/ios_device.go index 6005c8a4..a2fe3c14 100644 --- a/uixt/ios_device.go +++ b/uixt/ios_device.go @@ -164,6 +164,9 @@ func (dev *IOSDevice) Setup() error { dev.DeviceEntry.UserspaceTUNPort = info.UserspaceTUNPort dev.DeviceEntry.UserspaceTUN = info.UserspaceTUN rsdService, err := ios.NewWithAddrPortDevice(info.Address, info.RsdPort, dev.DeviceEntry) + if err != nil { + return err + } defer rsdService.Close() rsdProvider, err := rsdService.Handshake() if err != nil { diff --git a/uixt/option/ios.go b/uixt/option/ios.go index 411bebdf..00527b68 100644 --- a/uixt/option/ios.go +++ b/uixt/option/ios.go @@ -56,21 +56,6 @@ const ( defaultMjpegPort = 9100 ) -const ( - // Changes the value of maximum depth for traversing elements source tree. - // It may help to prevent out of memory or timeout errors while getting the elements source tree, - // but it might restrict the depth of source tree. - // A part of elements source tree might be lost if the value was too small. Defaults to 50 - defaultSnapshotMaxDepth = 10 - // Allows to customize accept/dismiss alert button selector. - // It helps you to handle an arbitrary element as accept button in accept alert command. - // The selector should be a valid class chain expression, where the search root is the alert element itself. - // The default button location algorithm is used if the provided selector is wrong or does not match any element. - // e.g. **/XCUIElementTypeButton[`label CONTAINS[c] 'accept'`] - acceptAlertButtonSelector = "**/XCUIElementTypeButton[`label IN {'允许','好','仅在使用应用期间','稍后再说'}`]" - dismissAlertButtonSelector = "**/XCUIElementTypeButton[`label IN {'不允许','暂不'}`]" -) - func NewIOSDeviceOptions(opts ...IOSDeviceOption) *IOSDeviceOptions { config := &IOSDeviceOptions{} for _, opt := range opts { @@ -84,16 +69,6 @@ func NewIOSDeviceOptions(opts ...IOSDeviceOption) *IOSDeviceOptions { config.WDAMjpegPort = defaultMjpegPort } - if config.SnapshotMaxDepth == 0 { - config.SnapshotMaxDepth = defaultSnapshotMaxDepth - } - if config.AcceptAlertButtonSelector == "" { - config.AcceptAlertButtonSelector = acceptAlertButtonSelector - } - if config.DismissAlertButtonSelector == "" { - config.DismissAlertButtonSelector = dismissAlertButtonSelector - } - return config }