手新引導框架,自動化測試框架,先看一段視頻:
點擊此處觀看視頻
注意,在電腦上預覽才能體驗自動引導功能!
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。
關注我的微信公衆號「奎特爾星球」、「少年奎特爾」,我的文章在公衆號上首發,感謝你的閱讀,願我們一起共同成長!