Cocos Creator 从“新手引导”到“自动化测试”

手新引导框架,自动化测试框架,先看一段视频:
Cocos Creator 从“新手引导”到“自动化测试”
点击此处观看视频

在线预览体验 http://example.creator-star.cn/demo-ui-autorun

注意,在电脑上预览才能体验自动引导功能!

Shawn 刚开始只是为了完成新手引导功能点,同时要求引导代码要做非***式,尽量对游戏代码零干扰。

1. 步骤指令

当引导框架完成后,发现引导的配置工作效率低下,非程序员非项目程序员,上手困难,于是又在引导框架中增加了步骤指令机制,使引导配置尽可能地JSON化,而非JS化。

引导步骤指令是由程序员编写的函数,比如 Shawn 已经在引导框架中提供了3条指令:

  • 节点定位指令:节点定位、遮罩镂空、事件拦截
  • 手指提示指令:在定位指令的基础上增加了手指提示动画
  • 文本提示指令:显示一行或多行文字提示

下面配置是一条手指指令,提示用户点击某个按钮:

{
    desc:'点击主界面主页按钮',
    command: { cmd:'finger', args:'Home > main_btns > btn_home' },
    delayTime: 0.5,
}

你可以根据自己的游戏业务需求,设计自己的指令,例如:

{
    desc: '确认网络推送建筑数据为木材厂',
    command: {
        cmd: guide.command.WATCH_PUSH,
        pushType: Push.BUILDING
    },
    onPushData: function (data) {
        //建筑状态为已完成,建筑为木材厂
        return data.status === 4 &&
               data.BUILDING_CID === ConstantCid.BuildingCid.WOOD;
    }
}

上面 Shawn 在一款SLG项目中的引导配置,指令为 WATCH_PUSH,用于监听服务器推送数据,参数是 Push.BUILDING 意思是建筑数据,只要服务器推送建筑数据,步骤中的 onPushData 函数就会响应,可以通过 data 参数,做条件判定,返回为 true 指令任务完成。

2. 自动引导

引导配置的问题解决了,又发现引导的测试工作效率低下,每次都要重头再来。于是在思考,能否让电脑自己去执行引导流程呢?当然...是可以的!

惊喜不断,在电脑浏览器上通过模拟鼠标点击的方式,Shawn 实现了自动引导功能,突然之间让 Shawn 发现了新的大陆—自动化测试!

3. 流程录制与回放

引导配置不就是测试流程吗?通过引导配置指挥计算机做重复的事情,这样可以大量节省测试人员的时间,特别是做回归测试,测试人员机械、麻木地要把游戏的大多数功能都执行好几遍,想想都觉得痛苦。

于是又想到,将节点的点击操作按顺序记录下来,一是输出再加工,二是直接回放+自动引导,可以极大降低引导配置的难度,更为重要的是它不在是简单的引导功能,而是软件自动化测试!

回想曾经的工作中,测试团队为了研究自动化测试,付出了多少时间、成本但结果往往都是强差人意!希望 Shawn 无心之举能帮助更多的游戏测试人员和企业节省时间、降低成本,当然引导框架还有很多值得改进的地方,期待你的参与我们共同成长!
在这里插入图片描述
Shawn 的 Chat 文稿已经完成,根据本台规则7月23日出炉与大家见面,现在在做最后的校验检查,本篇教程的内容包含了 引导实现和自动引导的细节,包含以下内容:

  • 节点定位
  • 遮罩显示
  • 触摸事件的拦截与放行
  • 定位指令实现
  • 手指动画指令实现
  • 文本提示指令实现
  • 引导框架源码分析
  • 自动引导实现
  • 流程录制与回放实现
  • 引导测试工具雏形

Shawn 心愿是帮助更多的Cocos Creator 初学者快速入门,协助企业降低开发成本,做有价值的事情!同时 Shawn 也提供线下指导服务,有兴趣的伙伴或企业可加我微信:z6346289。

关注我的微信公众号「奎特尔星球」、「少年奎特尔」,我的文章在公众号上首发,感谢你的阅读,愿我们一起共同成长!
在这里插入图片描述

猜你喜欢

转载自blog.51cto.com/14459992/2422099