移動開發工具箱 | 音游銀彈,測試的假腿
筆者在早年玩 PC 上的音樂遊戲《O2JAM》(國內久游公司代理並翻譯為《勁樂團》)的時候,使用 PC 版按鍵精靈寫過一些複雜歌曲的腳本,動輒上千個音符讓腳本的時間校準工作異常耗時。
後來 PC 版按鍵精靈推出了腳本錄製功能,錄製狀態下自動將滑鼠和鍵盤的操作記錄並生成腳本,從外部攻克 《O2JAM》的時候,可以每次保留失誤前的錄製腳本,重新開始遊戲運行腳本直到上次失誤的地方接著玩,通過「數次從頭開始」就完成了原來幾個小時校準出來的腳本,生產力得到解放。
隨著移動時代的來臨,手游腳本解決方案與 PC 遊戲並無太大變化,通過「腳本點擊」實現輸入,「截屏比色」獲取輸出判斷遊戲狀態,往複循環實現掛機、輔助。
但是,與 PC 遊戲的鍵盤滑鼠相比,手機遊戲的輸入最本質的差別在於『觸摸屏幕』所產生的巨大信息量 [1] 。
鍵盤在腳本中的數據包括:
- 時間點
- 按鍵編號
- 按下 / 抬起
滑鼠在腳本中的數據包括:
- 時間點
- 事件(按鍵 / 移動)
- 數據(按下 / 抬起 / X坐標 / Y坐標)
而『觸摸屏幕』所產生的數據有:
- 時間點
- 事件(按鍵 / 第x根手指觸屏按下 / 第x根手指觸屏抬起 / 第x根手指移動)
- 數據(按鍵按下 / 按鍵抬起 / 觸點中心X坐標 / Y坐標 / 擬合成圓的觸點最小半徑 / 最大半徑 / 壓力大小)
直觀來看, PC 遊戲最複雜的輸入設備只是一個滑鼠,而手機觸屏相當於同時輸入若干個比滑鼠更複雜的外設信息,複雜度不可同日而語。對於略微需要複雜手勢操作的遊戲(例如《Cytus》),腳本編寫的工作量相比於同類的 PC 遊戲指數級增長。
手機的腳本錄製功能的需求產生了,本文的主角 Appetizer [2] 提供了『無需 Root、開箱即用、毫秒級』的 Android 系統錄製重放功能。
視頻 [3] 是使用 Appetizer 錄製重放音樂遊戲《蘭空VOEZ》的過程,一次錄製成功在三台手機上重放了包括多手指滑動在內的 Perfect Combo 效果。
除了用於音游腳本的錄製,對於移動 App 以及手游的開發者和測試人員來說,使用腳本重放的功能可以減免一些人工重複勞動,可以自動完成手工測試的前序狀態步驟,也可以對多設備進行回歸測試、大規模兼容性測試等,作為工具,能夠提高測試工作的生產力。
視頻 [4] 是使用 Appetizer 在瀏覽器、原生應用、遊戲等多種環境下的同步操作,簡單來說就是一邊錄製一邊在多台設備上重放,達到操作一台設備就能控制多台設備的效果。
如果對 Appetizer 的功能想要有更深的了解,歡迎加入
http://Appetizer.io 交流QQ群 467889502參考鏈接:
[1] Android跨進程模擬觸屏事件(sendevent) [2] Appetizer.io - Mobile DevOps Platform[3] Appetizer《蘭空VOEZ》錄製與重複[4] Appetizer 多設備鏡像操作[5] Appetizer《諾諾來自異世界》重放測試推薦閱讀: