手新引导框架,自动化测试框架,先看一段视频:
点击此处观看视频 https://www.bilibili.com/video/av60001770/
在线预览体验 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。
关注我的微信公众号「奎特尔星球」、「少年奎特尔」,我的文章在公众号上首发,感谢你的阅读,愿我们一起共同成长!
原文地址:https://blog.51cto.com/14459992/2422099