求教基于 unity3D 框架开发的 Android 体感游戏,如何实现自动化测试?

2019-12-06 10:41:02 +08:00
 tianzry

如题,unity3D 框架开发的 Android 体感游戏使用 UI Automator 界面测试框架时候,发现部分按键模拟点击是可以的(基于控件定位好像不行,因为 unity3D 应用页面里面就没有 Android 资源 id),但是视角转换和运动控制需要旋转手机来物理实现,没法自动化测试了,大家对于这种测试有什么好的想法吗?

不知道大家有什么好的想法,欢迎提供一些思路和指导,提前感谢(❁´ω`❁)!

这里所谓的体感游戏,就是利用 Android 传感器如重力计,加速度计等控制方向和速度的游戏,比如以前流行的重力球游戏。

目前我试了通过 hook 传感器事件来企图人工修改传感器实时值,以达到想要的效果,结果失败了,可能 unity3D 采集传感器事件在更前面(非 unity3D 架构的应用是可以修改成功)。

我当时这个失败了的做法是,了解到 SensorManager 获取数据的大概方式就是,HAL 负责数据的上报,SensorManager 负责接收给应用使用,中间可以对传感器数据进行处理,滤波,校准等等定位,因此想到定位到"android.hardware.SystemSensorManager$SensorEventQueue"类里面的 dispatchSensorEvent 方法,然后再获取到方法的参数 mSensorsEvents,对传感器事件进行 hook 修改。

1425 次点击
所在节点    问与答
2 条回复
tianzry
2019-12-06 10:42:14 +08:00
我的天,手机 V2EX 应用发帖,换行都没了……
dreamerlv3ex
2019-12-06 10:58:13 +08:00
一直想了解前端开发

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

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

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

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

© 2021 V2EX