Java 版本?
 没计划....
目前只打算用
Golang造点小轮子....
 还是有几个 
TODO 没完成...
不过完全不影响现有的全部功能
可以 自定义手势操作 (TouchActions) 的呀
拖拽动作拆解下来, 其实就是 第一次按住不松开, 然后进行移动, 结束移动后再松开
我也用 Golang 实现了 WDA 的接口
拖拽手势 的实现用在了 手势密码 上
👇 这里有当时的实现代码
https://github.com/electricbubble/gwda-ext-opencv/blob/7052a95b7dbc8420ece25457965916f9c85cb1fa/gesture.go#L26-L40
func (dExt *DriverExt) GesturePassword(pathname string, password ...int) (err error) {
    var rects []image.Rectangle
    if rects, err = dExt.FindAllImageRect(pathname); err != nil {
        return err
    }
    sort.Slice(rects, func(i, j int) bool {
        if rects[i].Min.Y < rects[j].Min.Y {
            return true
        } else if rects[i].Min.Y == rects[j].Min.Y {
            if rects[i].Min.X < rects[j].Min.X {
                return true
            }
        }
        return false
    })
    touchActions := gwda.NewTouchActions(len(password)*2 + 1)
    for i := range password {
        x, y, width, height := dExt.MappingToRectInUIKit(rects[password[i]])
        x = x + width*0.5
        y = y + height*0.5
        if i == 0 {
            touchActions.Press(gwda.NewTouchActionPress().WithXYFloat(x, y)).
                Wait(0.2)
        } else {
            touchActions.MoveTo(gwda.NewTouchActionMoveTo().WithXYFloat(x, y)).
                Wait(0.2)
        }
    }
    touchActions.Release()
    return dExt.PerformTouchActions(touchActions)
}
 更新了 gwda 的扩展库 gwda-ext-opencv
可直接通过指定图片进行操作啦
 我有个粗暴且不成熟的建议。。启动前先暂时禁用掉其他网卡。。。等启动好后再。。。
🤔 不应该呀,你是怎么创建 session 的?
import wda
c = wda.Client()
s = c.session('com.apple.Preferences')
这么操作去创建 session ?
facebook-wda/examples 🌚 我偷懒从这里复制来的代码。。如果不能运行。。自己看着改下哈。。
😂 因为这个 issue#323
结果 appium 的大佬,直接重构了。。
-   return _activeSession ?: [FBSession initWithApplication:nil];
+   return _activeSession;
我猜是因为这段代码导致的。。
不过也只是影响到第一次访问 localhost:8100/status 是 null
当创建过 session 后就可以正常有一个值了
🥳 多亏大佬的文章,才能看明白 WDA 的部分代码
这
Objective-C看久了。。还莫名觉得有点迷之"美感"...
🥳 嘻嘻,徽章加上去咯
😳如果你发现 当前屏幕第一个 App/文件夹 的文本内容: “自带”文件夹 这明显应该是 计算器
🙃首先这不是 gwda 的代码问题。。这是一个在 iPhone 6s (11.4.1) 可复现的神奇现象
并且还发现了另一种 “现象”,指定元素明明可以触发 3D Touch 并且元素绝对 可见,执行却报错并提示元素 不可见
element not visible: The element '"计算器" Icon' is not visible on the screen and thus is not interactable
不过不用担心,可以使用
session.ForceTouch避免这种情况
暂时没去细究是 WDA 的问题还是这个 iOS 系统版本的问题。。
iPhone X (13.4.1)已知没这问题。。