Cocos Creator 從“新手引導”到“自動化測試”

手新引導框架,自動化測試框架,先看一段視頻:

點擊此處觀看視頻

在線預覽體驗

注意,在電腦上預覽才能體驗自動引導功能!

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。
在這裏插入圖片描述
關注我的微信公衆號「奎特爾星球」、「少年奎特爾」,我的文章在公衆號上首發,感謝你的閱讀,願我們一起共同成長!
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章