自动化工具 使用 Golang 实现 appium/WebDriverAgent 的客户端库

雷系泡泡 · 2020年05月10日 · 最后由 雷系泡泡 回复于 2020年05月22日 · 4740 次阅读

先感谢两位大佬在社区的文章
感谢大佬 @chenhengjie123 的文章 自动化工具 WebDriverAgent 踩坑记
项目参考大佬 @codeskybluefacebook-wda

Golang 版 WebDriverAgent 客户端库: gwda

几乎完成了 appium/WebDriverAgent 的全部命令(部分 tvOS 的因为没环境测试。。就暂时放弃了)

放一个示例代码的执行 GIF

😳其实执行速度还可以,只是 GIF 压缩感觉卡顿

下面是示例代码的执行输出:

2020/05/10 00:02:00 Name: TEST’s iPhone
2020/05/10 00:02:00 IsSimulator: false
2020/05/10 00:02:00 UIKit Size (Points): 375 x 667
2020/05/10 00:02:01 UIKit Scale factor: 2
2020/05/10 00:02:01 Native Resolution (Pixels): 750 x 1334
2020/05/10 00:02:02 Status bar size: 375 x 20
2020/05/10 00:02:02 State: Plugged in, at 100%
2020/05/10 00:02:02 Level: 100%
2020/05/10 00:02:02 该 App 未运行, 开始打开 App: com.apple.Preferences
2020/05/10 00:02:04 使当前 App 退回 主屏幕, 并至少等待 3s 后(默认等待时间)再切换到前台
2020/05/10 00:02:09 当前 App 的 PID: 3616
2020/05/10 00:02:33 搜索输入框 的截图图片格式: png
2020/05/10 00:02:33 搜索输入框 的截图图片大小(像素): (594,72)
2020/05/10 00:02:37 共找到 3 个搜索结果
2020/05/10 00:02:48 当前屏幕第一个 App/文件夹 的文本内容: “自带”文件夹
2020/05/10 00:02:48 该 App/文件夹 的坐标和大小: {
    "y" : 26,
    "x" : 199,
    "width" : 64,
    "height" : 88
  }
2020/05/10 00:02:57 Orientation: Device oriented vertically, home button on the bottom
2020/05/10 00:02:57 Rotation: {
    "x" : 0,
    "y" : 0,
    "z" : 0
  }

不知道有没有爱好用 Golang 的小伙伴。。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 7 条回复 时间 点赞

😳如果你发现 当前屏幕第一个 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) 已知没这问题。。

雷系泡泡 关闭了讨论 05月10日 00:36
雷系泡泡 重新开启了讨论 05月10日 00:36

看起来不错哎。欢迎加入 iOS 自动化阵营

可以把这个加到首页的 README.md 里面去

GoDoc

我先在 facebook-wda 项目中,加上你这个项目的链接了

codeskyblue 回复

🥳 嘻嘻,徽章加上去咯

突然被 @ 了好惊喜呀,这个项目挺不错,让 golang 的同学也可以用上 WDA ,点赞!

陈恒捷 回复

🥳 多亏大佬的文章,才能看明白 WDA 的部分代码

Objective-C 看久了。。还莫名觉得有点迷之"美感"...

🍻 更新了 gwda 的扩展库 gwda-ext-opencv

可直接通过指定图片进行操作啦

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册