自动化工具 Unity3D 手游自动化工具 UAutoIDE

易罗阳 for 珠海西山居QA · 2021年04月29日 · 最后由 Iris 回复于 2021年09月17日 · 4217 次阅读
本帖已被设为精华帖!

UAutoIDE 是一款面向 Unity3D 手游的自动化录制和回放工具,通过对 Android 设备端的游戏进行操作(点击、拖动、文本输入),自动生成 python 编写的自动化 case,很方便就能进行自动化测试。

UAutoIDE 工具以注入式 UI 驱动的方式实现了游戏的 UI 自动化,想要实现自动化的游戏需接入 Untiy 插件 UAutoSDK。工具界面化的提供了录制脚本与执行脚本的功能,还包括了设置工作区、新建工作区、使用 VSCode 打开、新建脚本、导入脚本、导出脚本等功能,同时通过高级模式可查看游戏当前界面的 UI 层级关系和具体的组件信息,方便编写更复杂的自动化脚本。

UAutoIDE 文档地址:https://king3soft.github.io
UAutoIDE github 地址:https://github.com/king3soft/UAutoIDE

视频演示

工具下载

UAutoIDE 下载:https://github.com/king3soft/UAutoIDE/releases

UAutoSDK 接入

Unity3D 自动化插件 UAutoSDK:https://github.com/king3soft/UAutoSDK

  1. 将 UAutoSDK.dll 和 UAutoSdkInit.cs 添加到 /Assets/Plugins 目录下
  2. 在场景中新建物体并将 UAutoSdkInit.cs 添加到物体中、或者直接将脚本添加到已有游戏物体上
  3. 运行游戏后如果出现如下 log 说明配置成功

工具截图

主要功能

  • 支持 Unity3D 手游项目
  • 支持 Android 手机
  • 支持通过操作(点击、拖动、文本输入)对游戏进行录制,自动生成脚本
  • 支持通过回放来执行脚本
  • 支持查看游戏 UI 的层级关系和组件信息(高级模式)

设备要求

设备需开启开发者选项,开启 usb 调试,连接电脑并与电脑使用同一网络,进行操作的游戏需接入 Unity 插件 UAutoSDK。

具体功能介绍

1. 新手指引

点击 UAutoIDE.exe 打开工具,将设备连上电脑 (请确保有且仅有 1 台设备连接于电脑),不需要点击连接,选择新手指引进行教学。

选择开始即可执行 demo 的演示脚本。

2. 连接

设备连上电脑后,选择设备列表中的设备,打开需要进行操作的 apk 并保持设备亮屏,点击连接。

3. 设置工作区

选择已存在的工作区的 setting.UAUTO 文件,即可打开工作区。

4. 创建工作区

选择一个空文件夹,即可创建工作区。

5. 脚本列表

查看当前工作区(pages 目录)下的脚本。

6. 新建脚本

输入脚本名称(支持任意格式),脚本文件名(支持英文,数字,下划线,必须以英文开头,不需要加上.py 后缀)

7. 导入脚本

选择脚本 (可选择多个脚本),即可将脚本添加进当前工作区。

8. 开始录制

通过操作手机(点击、拖动、文本输入),直接生成自动化代码。录制过程中可选择暂停录制和继续录制,可选择长按五秒手机屏幕或点击录制中弹窗的关闭按键来结束录制。

9. 开始执行

执行录制完成的脚本(当前脚本窗口展示的脚本),执行中可选择暂停执行,继续执行。

10. 通过 VSCODE 打开

使用 VSCODE 打开当前工作区,更方便对脚本进行优化。

11. 导出脚本

将当前脚本窗口展示的脚本导出。

12. 启用高级模式

进入高级模式界面,显示游戏当前界面的 Hierarchy(层级面板)和 Components(组件信息),方便编写更复杂的自动化脚本。

总结

UAutoIDE 是面向 Unity3D 手游的自动化测试工具,欢迎有需要和感兴趣的朋友使用,也欢迎对本工具提出疑问,期待收到你们的反馈和建议。
问题和意见反馈:https://github.com/king3soft/UAutoIDE/issues

招聘

珠海西山居质量团队面向社会、校园招聘,欢迎各位游戏客户端/服务端/稳定性/效能/3D 技术/专项领域的质量技术方向同学加入。
有意向加入团队同学请将简历发送给我们.
邮箱地址:yiluoyang@kingsoft.com

最佳回复
不见星空 回复

需要

https://github.com/king3soft/UAutoSDK
共收到 12 条回复 时间 点赞

额 又一个开源了。

陈恒捷 将本帖设为了精华贴 04月30日 18:50

哈哈,为开源出一份贡献,目前公司内项目都在用,因为保密就不贴出来了.

仅楼主可见

跟 airtest 有什么区别

这个录制大法只能用于 unity 吗,平时的页面可以码

王_test 回复

原生 APP 已经有很成熟的产品了,我们这边只专注于游戏业务,服务于公司内部

爱_大蓝 回复

借鉴了 airtest,但是更好用,我们这边和自己开发的性能工具结合的更紧密了.我们的游戏自动化主要服务于性能监控

00 回复

理论支持,未完全测试

这个要求 UI 系统吗

高级模式需要接 SDK 吗?

不见星空 回复

需要

https://github.com/king3soft/UAutoSDK

支持客户端的 Unity3D 项目么?

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