最近开始研究一些游戏自动化测试方面的内容。游戏自动化测试是游戏测试研究领域的难点之一,当前主流的方案有两种,一种是采用纯粹的UI识别方法进行,典型的例子是Airtest,另一种是直接嵌入到游戏引擎中获取节点树等元素从而对实体进行操作,典型的例子是GAutomator。由于笔者先前略微接触过Airtest方面的内容,因此本次决定上手GAutomator尝试游戏自动化。
本次上手过程具体则用GAutomator对Unreal4.24示例mobile项目中的元素进行操作,利用安卓手机进行调试。基本原理上,GAutomator会作为插件嵌入到Unreal项目中,自己包含一些获取World中信息的功能,而后listen一个端口,从而外部请求该插件可以获取World中的信息。通过adb进行搭桥,在外部,用户可以基于GAutomatorAndroid编写,从而不仅可以与GAutomator的Unreal插件打通,而且也可以通过预先集成的UIAutomator这样的工具直接模拟屏幕操作。