前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小游戏自动化测试工具

小游戏自动化测试工具

原创
作者头像
audy
修改2019-03-20 16:07:49
2.3K0
修改2019-03-20 16:07:49
举报
文章被收录于专栏:游戏测试开发游戏测试开发

微信小程序和小游戏上线以来发展势头可谓生猛。从小游戏的类目细分来看有八成的小游戏属于休闲游戏。由于小游戏体量小,开发周期快,引流变现便利,尚属蓝海区域,不同公司均开始重视小程序和小游戏的开发。对于小游戏而言目前常用的引擎有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和内存变化曲线。

内容详情

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档