使用 Golang 来控制你的 Android 设备~

2020-08-06 08:08:20 +08:00
 hongxi2200

接着上次的 IOS 版的 gwda 使用 Golang 来控制你的 iOS 设备~
这次把拖更的 Android 版也补上

项目地址: https://github.com/electricbubble/guia2

Golang 实现的 appium-uiautomator2-server 客户端库,用于控制 Android 设备,实现 UI 自动化操作。(无需 root )

常用操作已经都实现了,还有 4 个 函数使用频率应该很低,但也争取这几天抓紧时间补上。

放一个示例代码的执行 GIF

6097 次点击
所在节点    Go 编程语言
22 条回复
playniuniu
2020-08-06 08:24:30 +08:00
赞一个
hongxi2200
2020-08-06 08:33:32 +08:00
ydongd
2020-08-06 09:02:00 +08:00
是相当于一个点击模拟吗
hongxi2200
2020-08-06 09:14:10 +08:00
@ydongd

不仅仅是 `点击` 操作哈

// 点击
_ = driver.Tap(x, y)

// 滑动
_ = driver.Swipe(startX, startY, endX, endY)

// 拖拽
_ = driver.DragPoint(startPoint, endPoint)

// 元素的点击
_ = element.Click()

// 输入文本
_ = driver.SendKeys("abc")
zarte
2020-08-06 09:28:23 +08:00
赞个
zarte
2020-08-06 09:29:28 +08:00
啥时候能有不用按照 apk 的就好了
hongxi2200
2020-08-06 09:44:45 +08:00
@zarte emmm 那就需要 root 了。。
zcljy
2020-08-06 16:28:24 +08:00
@hongxi2200 图好像挂了 想看看效果 谢谢
vus520
2020-08-06 18:51:53 +08:00
跟 AirTest 一样吗
hongxi2200
2020-08-06 19:25:21 +08:00
hongxi2200
2020-08-06 19:28:52 +08:00
@vus520 直接和 AirTest 比的话。。我这个就差远了,但最基础的功能是接近的。。
以图片来进行位置的获取并点击,这样的操作我这几天会更新一个 扩展库 来实现哒,类似于 [gwda-ext-opecv]( https://github.com/electricbubble/gwda-ext-opencv)
sadfQED2
2020-08-07 12:42:46 +08:00
底层原理是用的无障碍吗?我也写了一个类似的东西,底层用的是 xposed 提权,然后引入了 opencv 做图像处理。另外提供了 webapi 做远程控制

https://github.com/Jinnrry/RobotHelper
hongxi2200
2020-08-07 19:10:55 +08:00
@sadfQED2

appium-uiautomator2-server 实际用的就是 UiAutomator2 哈

话说,你的这个让我想起来了另一个作者的项目 https://github.com/w296488320/XposedAppium

你们也很酷喔
sadfQED2
2020-08-07 20:13:38 +08:00
@hongxi2200 哈哈哈
hongxi2200
2020-08-07 20:15:12 +08:00
@sadfQED2 你的 webapi 要是支持 WebDriver 协议标准,那就更酷哇
sadfQED2
2020-08-07 20:37:25 +08:00
@hongxi2200 哈哈哈,确实。不过写这个 webapi 是方便爬虫部署用的,不是拿来做测试用的。
hongxi2200
2020-08-08 09:23:24 +08:00
@sadfQED2 嘿,我是纯粹为了搞着玩玩
loading
2020-08-09 07:33:05 +08:00
建议换一个演示的 app
hongxi2200
2020-08-09 09:40:22 +08:00
@loading 😂我手上没有 Android 手机。。只能用模拟器。。然而好多 App 都限制了模拟器使用。。打开就闪退。。
hongxi2200
2020-08-09 09:42:15 +08:00
@loading 不过我昨天用一台 Mi10 Pro 也测试了下,但因为不是我的手机。。我也只是临时用了一下,没有代码问题。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/696010

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX