在游戏测试中,对于目前的两大游戏引擎cocos-2dx、unity3d,其ui自动化测试的技术方案都已经实现。可以获取、设置ui对象的各个属性,并且可以调用ui对象及引擎的一些方法接口,实现基于引擎的ui驱动能力。有了这些能力之后,从技术上来说已经可以实现基于引擎的游戏ui自动化测试。但是单纯的ui驱动能力还不足以实施一个游戏的ui自动化测试,还需要满足以下几个条件。
1.UI相对稳定,UI元素及布局在各个版本间变动不大,各个UI元素的关键属性(特别是用于唯一标识该UI元素的属性)保持稳定,其他属性可以根据需要发生变化。
2.操作过程及结果可预期,交互的过程及预期结果是明确的,如果交互过程及预期结果不明确,有太多的随机性,会大大增加脚本的逻辑复杂度。
3.产品生命周期长,因为UI自动化测试脚本的开发、维护成本都比较高,如果被测产品的生命周期太短,或者只发几个版本,就会导致自动化测试的投入产出比太低。
4.操作过程及结果很难预期,游戏战斗过程充斥着各种随机性和玩家操作的不确定性,导致预期结果需要复杂的实时计算才可以得出,无法提前预期。
5.生命周期短,很多游戏只有短短几个月的生命周期。这些因素都导致了游戏的UI自动化测试成本太高。
推荐阅读