如何为Unity-iOS应用程序进行自动化测试?

问题描述 投票:2回答:2

我正在尝试找到一个解决方案,在iPad上进行自动化测试,以便从Unity3d编译一个项目。

目前,我有一些使用Instruments UIAutomation tool构建的测试。虽然我可以驱动应用程序并截取屏幕截图,但是工具看不到屏幕上的对象,因为它们是从Unity生成的,而不是从Xcode本身生成的。我已经尝试检查哪些对象可见了

logElementTree()

函数,但它返回的是一个带有静态图像的rect对象(包括我希望能够访问的按钮和事物,但程序不能识别为xcode对象)。创建点按和拖动事件仅适用于屏幕上的绝对位置;他们自己找不到元素,因此无法进行任何实际的测试操作和状态。模拟任何游戏玩法都依赖于相当多的盲目程序和隐含等待,这远远不够强大。


简而言之:我正在寻找一种自动化测试解决方案,它使我能够与Unity3d创建的对象进行交互(UIAutomation似乎无法做到),并且可以在iOS设备上运行。如果有人有Unity3d iOS项目的经验,我真的很感激他们使用什么解决方案来获得这个功能。

ios unity3d automated-tests ui-automation ios-ui-automation
2个回答
4
投票

尽管我希望这是一项简单的任务,但我认为不会这样。

基本上Unity只有一个本机iOS UI元素,这是占据整个屏幕的主视图。

我认为自动化系统可以组合在一起的唯一方法是通过询问单位本身屏幕内的事物,以便您可以使用X:,Y:坐标来模拟事件。

UIATarget.localTarget().tap({x:100, y:200});

但要做到这一点,你可能需要为统一构建一个原生插件。

原生插件不是非常复杂,但它们确实需要智能设计和每个操作系统的特定设置。

这是一个带有一些iPhone原生插件视频的播放列表的链接,它将引导您完成构建本机插件的过程,您可以在其中连接到Objective-C代码。

SuperLazyCoder Youtube Playlist观看此视频和接下来的2视频,全面了解iPhone插件

剩下的就是组合一个统一脚本,可以将对象转换为屏幕坐标并将它们传送回测试应用程序。

希望有所帮助:)我渴望看到结果。


0
投票

你可以尝试这个工具:Unity UI automation

它与Appium类似,允许使用Selenium进行写入测试

© www.soinside.com 2019 - 2024. All rights reserved.