今儿个,咱来聊聊咋给游戏做自动化测试。作为一个老程序猿,这事儿我可是折腾好一阵子,踩不少坑,但也攒点儿经验,今儿就跟大伙儿分享分享。
我是真没把这当回事儿。心想,游戏测试嘛不就是点点点,试试功能对不对,找找bug啥的。结果,项目一大,玩儿法一多,我滴个乖乖,手动测根本忙不过来。一个新版本,光是把所有功能走一遍,就得花上个几天几夜。这哪行,人都得累趴下!
于是我就琢磨着,得找个法子让机器来帮我干活儿。这就是自动化测试的由头。
刚开始,我试几个比较出名的工具。有个叫TestBird的,说是国内第一个搞手游自动化测试的,名气挺大。我就下个试用版,体验一把。怎么说,功能是挺全,但总感觉有点儿笨重,上手也不太容易,学起来挺费劲。
摸索阶段
后来我又听说网易搞个叫AirtestIDE的玩意儿,专门用来做游戏和App的自动化测试。说是基于图像识别技术,能简化测试流程。这图像识别听起来挺高大上,我就赶紧去下个来试试。别说,这玩意儿还真挺好用。界面简单直观,操作也方便,很快就上手。我用它写几个简单的脚本,跑起来还真像那么回事儿。
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
- 第一步:连接设备。这AirtestIDE支持连各种设备,手机、模拟器啥的都能连。
- 第二步:录制脚本。 它有个录制功能,可以直接把你对游戏的操作录下来,然后自动生成脚本。
- 第三步:修改脚本。 录下来的脚本有时候不太完美,需要手动改改。比如加点儿判断,加点儿循环啥的。
- 第四步:运行脚本。 脚本写好,就可以跑起来。机器会自动帮你点点点,跑测试用例。
用AirtestIDE跑一段时间,感觉还不错。但后来我发现它有个问题,就是对一些复杂的交互支持不太比如,游戏里有个拖拽的操作,AirtestIDE就识别不出来,老是出错。这可咋整?
深入研究
没办法,我又开始在网上找资料,看看有没有更好的解决办法。然后,我就发现一个叫VirtualUETool的开源项目,说是专门给Unity和Unreal Engine(UE4)游戏做UI自动化测试的。这可把我高兴坏,因为我做的游戏就是用Unity引擎开发的。
我赶紧把VirtualUETool的源码下下来,研究一番。这玩意儿比AirtestIDE复杂多,得花点儿时间才能搞明白。不过它的功能也更强大,可以支持各种复杂的交互操作。而且它是开源的,可以根据自己的需要进行修改。
经过一段时间的折腾,我终于把VirtualUETool给用起来。我用它重写之前的测试脚本,跑起来效果非常那些之前用AirtestIDE搞不定的问题,现在都迎刃而解。
这过程中也遇到一些坑。比如,VirtualUETool的文档不太全,有些地方得自己摸索。还有,它的稳定性也有待提高,有时候会莫名其妙地崩溃。
最终实现与总结
我对目前的结果还是比较满意的。虽然花点儿时间,但总算是把游戏自动化测试给搞定。我只需要写好测试脚本,然后让机器自动跑就行。省下来的时间,我可以用来做更多更有意思的事情,比如优化游戏性能,或者开发新的玩法。
这回的经历也让我明白一个道理:搞技术,就得不断学习,不断尝试。只有这样,才能找到最适合自己的解决方案。同时也别怕麻烦,多动手才能有收获嘛
好,今儿个就先聊到这儿。以后有啥新的体会,再来跟大伙儿分享!