介绍
AltUnity Tester是一个开源的UI驱动的测试自动化工具,可以帮助您在Unity游戏中找到对象,并使用用C#、Python或Java编写的测试与它们交互。
您可以在真实设备(移动设备、PC等)上运行测试。或在Unity编辑器中。
特点
查找元素并获取其所有(公共)属性:坐标、文本、值、Unity组件等。
使用和修改Unity元素的任何(公共)方法和属性。
模拟任何类型的设备输入。
操作并生成测试数据。
获取Unity游戏的屏幕截图。
在Unity编辑器中使用AltUnity Tester窗口检测游戏并运行C#测试。
使用您喜欢的IDE并针对在设备上或Unity编辑器内运行的游戏运行C#、Python或Java测试。
与Appium测试集成,以获得与本机元素交互的能力。
在测试执行期间可视化输入操作。
查看Unity编辑器中的测试结果和报告
如何工作
AltUnity Tester框架包含以下模块:
AltUnity服务器。
AltUnity驱动程序。
AltUnity测试仪编辑器窗口
AltUnity服务器模块用于检测您的游戏,以显示对Unity层次结构中所有对象的访问权限。插入指令的游戏在运行Unity应用程序的设备上打开TCP套接字连接,并在启动应用程序后等待AltUnity驱动程序连接。
AltUnity驱动模块用于连接AltUnity服务器,访问所有Unity对象,并通过用C#、Java或Python编写的测试与它们交互。
AltUnity测试器编辑器窗口是用于检测Unity游戏和直接从Unity编辑器运行C#测试的GUI。
入门
请参考官方文章:https://altom.gitlab.io/altunity/altunitytester/pages/get-started.html
遇到的坑:
在按照入门文档测试时遇到一些问题,记录如下,供参考
- 运行LoadScene报异常:无法找到scene
altUnityDriver.LoadScene("TestScene", true);
解决:
BuildSettings 中打开的Scene 要打勾
- android设备端无法连接
2021-12-03 14:36:01.8510|Editor|ERROR|OneTimeSetUp: System.Exception : Could not create connection to 127.0.0.1:13000
----> System.Net.Sockets.SocketException : Connection refused
官方针对设备端调试的文档相关说明非常不清晰,导致笔者在调试上花了一天时间。
解决方法:
1 将Adb Path 替换为当前设备的adb路径,虽然官方文档说会读取默认ANDROID_SDK_ROOT 环境变量的地址,但亲测无法读取。
2 点击刷新按钮,确认显示当前DeviceID,说明 adb 连接成功
3 点击Start 按钮, 设备这一行显示绿色,说明adb forard 执行成功
4 点击Run test,执行单元测试
总结
关于AltUnity Tester的更多信息,请参考官方文档
https://altom.gitlab.io/altunity/altunitytester/pages/overview.html