網(wǎng)易與Google合作發(fā)布開源UI自動化測試方案
美西時間 3 月 19 日,在 GDC 開幕***天的 Google 開發(fā)者專場,Google 發(fā)布了一款由網(wǎng)易研發(fā)的 UI 自動化測試方案:Airtest Project。Google 方面評價,這可能是目前世界上***的 Android 游戲自動化測試方案。
AirtestIDE 是一個跨平臺的 UI 自動化測試編輯器,目前已經(jīng)支持 Android 手游、Windows 端游和 Android App,后續(xù)還將支持 iOS 手游。在網(wǎng)易游戲內(nèi)部,這項技術(shù)已經(jīng)被應(yīng)用到《夢幻西游》手游、《大話西游》手游、《陰陽師》、《荒野行動》、《終結(jié)者 2:審判日》等多款重點產(chǎn)品的測試當(dāng)中。
具體來說,AirtestIDE 擁有基于圖像識別的 Airtest 框架,使用者無需接入代碼,只要在設(shè)備窗口操作手機(jī),代碼即會在代碼窗口自動生成。如果開發(fā)者認(rèn)為圖標(biāo)不夠精確,還可以通過手動框選圖標(biāo)或是其他方式來生成模擬輸入語句。
AirtestIDE 還擁有基于 UI 控件搜索的 POCO 框架,可以直接獲取 UI 結(jié)構(gòu),檢視 UI 控件。它支持 Unity3D、Cocos2dx 等主流游戲引擎及 Android 源生 App,開發(fā)者也可以通過擴(kuò)展 SDK 支持其他游戲引擎或任意 UI 系統(tǒng)。
在實際測試過程中,AirtestIDE 可以為測試人員定位異常測試點,回放每一個操作步驟,***還會生成一份報告,以方便測試人員排查細(xì)節(jié)錯誤。
此外,AirtestIDE 中錄制和運(yùn)行的代碼都基于 Python2.7 語言。新手上手比較容易,熟練的開發(fā)者也可以通過添加第三方庫和工具增強(qiáng)自己的腳本。同時,這項工具還可以與持續(xù)集成相結(jié)合,甚至以此技術(shù)為基礎(chǔ)搭建云測試平臺。
在以往的測試過程中,開發(fā)者往往需要在幾百臺 Android 手機(jī)上測試游戲的兼容性。
但通過 AirtestIDE 可視化、易于編輯的界面與功能,開發(fā)者只需錄制一次測試腳本即可實現(xiàn)多端運(yùn)行,這大幅度減少了人力及時間成本。而對于 Google 來說,AirtestIDE 能夠為全世界的 Android 開發(fā)者提供一套自動化的游戲測試解決方案,改善 Android 開發(fā)的生態(tài)環(huán)境。這或許也是他們在 GDC 上宣布與網(wǎng)易合作,并在 Firebase Test Lab 中支持這項技術(shù)的原因。
網(wǎng)易方面稱,Google 未來還愿意繼續(xù)與他們合作,將機(jī)器學(xué)習(xí)應(yīng)用在游戲的開發(fā)與測試方面。目前 Airtest Project 已分享至 Github (https://github.com/AirtestProject)開源使用,開發(fā)者也可以至官網(wǎng)(http://airtest.netease.com/)進(jìn)行查看和下載。