V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
tianzry
V2EX  ›  问与答

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

  •  
  •   tianzry · 2019-12-06 10:41:02 +08:00 via Android · 1408 次点击
    这是一个创建于 1574 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

    2 条回复    2019-12-06 10:58:13 +08:00
    tianzry
        1
    tianzry  
    OP
       2019-12-06 10:42:14 +08:00 via Android
    我的天,手机 V2EX 应用发帖,换行都没了……
    dreamerlv3ex
        2
    dreamerlv3ex  
       2019-12-06 10:58:13 +08:00
    一直想了解前端开发
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4614 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 01:07 · PVG 09:07 · LAX 18:07 · JFK 21:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.