小游戏自动化测试工具

微信小程序和小游戏上线以来发展势头可谓生猛。从小游戏的类目细分来看有八成的小游戏属于休闲游戏。由于小游戏体量小,开发周期快,引流变现便利,尚属蓝海区域,不同公司均开始重视小程序和小游戏的开发。对于小游戏而言目前常用的引擎有Cocos、Egret和Laya,小游戏相对于常规游戏app而言,测试内容和测试压力并没有减少。然而目前针对小游戏的测试工具还未成熟,更还没有完善的自动化测试工具,于是我们开始针对常用的Laya引擎进行了自动化测试工具的开发。

小游戏一般使用JS、TS和AS,实际运行时是编译成JS运行,JavaScript函数劫持,也就是 hook技术。贴段代码:

Hook success成功的在running前面调用了这样就可以实现把我们想要注入的代码注入到程序中。在游戏引擎中,发生点击滑动等操作时会在相应的按钮上出发”click”,”moveout”等事件,而这些事件通过事件派发函数分发出去。我们可以hook这个事件派发函数,记录下相应的按钮和发生的操作,最后再按顺序回放这些操作就可以实现自动化测试。

关于性能抓取部分,Laya引擎给我们提供了便利,通过Laya.Stat.enable()函数可以开启性能统计,我们可以抓取到引擎的FPS、已加载的内存、drawCall、三角面数等相关性能参数,将这些性能参数保存在本地或者上传服务器均可,考虑到微信的安全策略,此处我们保存了一份在本地,同时通过Websocket每秒发送一次性能参数给服务器。

获得的性能报告其中包括了平均FPS、峰值内存、峰值drawCall、峰值三角面数,其中也包括了PFS和内存变化曲线。

内容详情

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券