介紹
AltUnity Tester是一個(gè)開(kāi)源的UI驅(qū)動(dòng)的測(cè)試自動(dòng)化工具箍镜,可以幫助您在Unity游戲中找到對(duì)象配椭,并使用用C#内舟、Python或Java編寫(xiě)的測(cè)試與它們交互匿乃。
您可以在真實(shí)設(shè)備(移動(dòng)設(shè)備桩皿、PC等)上運(yùn)行測(cè)試〈闭ǎ或在Unity編輯器中泄隔。
特點(diǎn)
查找元素并獲取其所有(公共)屬性:坐標(biāo)、文本宛徊、值佛嬉、Unity組件等。
使用和修改Unity元素的任何(公共)方法和屬性闸天。
模擬任何類型的設(shè)備輸入暖呕。
操作并生成測(cè)試數(shù)據(jù)。
獲取Unity游戲的屏幕截圖苞氮。
在Unity編輯器中使用AltUnity Tester窗口檢測(cè)游戲并運(yùn)行C#測(cè)試缰揪。
使用您喜歡的IDE并針對(duì)在設(shè)備上或Unity編輯器內(nèi)運(yùn)行的游戲運(yùn)行C#、Python或Java測(cè)試葱淳。
與Appium測(cè)試集成钝腺,以獲得與本機(jī)元素交互的能力。
在測(cè)試執(zhí)行期間可視化輸入操作赞厕。
查看Unity編輯器中的測(cè)試結(jié)果和報(bào)告
如何工作
AltUnity Tester框架包含以下模塊:
AltUnity服務(wù)器艳狐。
AltUnity驅(qū)動(dòng)程序。
AltUnity測(cè)試儀編輯器窗口
AltUnity服務(wù)器模塊用于檢測(cè)您的游戲皿桑,以顯示對(duì)Unity層次結(jié)構(gòu)中所有對(duì)象的訪問(wèn)權(quán)限毫目。插入指令的游戲在運(yùn)行Unity應(yīng)用程序的設(shè)備上打開(kāi)TCP套接字連接,并在啟動(dòng)應(yīng)用程序后等待AltUnity驅(qū)動(dòng)程序連接诲侮。
AltUnity驅(qū)動(dòng)模塊用于連接AltUnity服務(wù)器镀虐,訪問(wèn)所有Unity對(duì)象,并通過(guò)用C#沟绪、Java或Python編寫(xiě)的測(cè)試與它們交互刮便。
AltUnity測(cè)試器編輯器窗口是用于檢測(cè)Unity游戲和直接從Unity編輯器運(yùn)行C#測(cè)試的GUI。
入門
請(qǐng)參考官方文章:https://altom.gitlab.io/altunity/altunitytester/pages/get-started.html
遇到的坑:
在按照入門文檔測(cè)試時(shí)遇到一些問(wèn)題绽慈,記錄如下恨旱,供參考
- 運(yùn)行LoadScene報(bào)異常:無(wú)法找到scene
altUnityDriver.LoadScene("TestScene", true);
解決:
BuildSettings 中打開(kāi)的Scene 要打勾
- android設(shè)備端無(wú)法連接
2021-12-03 14:36:01.8510|Editor|ERROR|OneTimeSetUp: System.Exception : Could not create connection to 127.0.0.1:13000
----> System.Net.Sockets.SocketException : Connection refused
官方針對(duì)設(shè)備端調(diào)試的文檔相關(guān)說(shuō)明非常不清晰辈毯,導(dǎo)致筆者在調(diào)試上花了一天時(shí)間。
解決方法:
1 將Adb Path 替換為當(dāng)前設(shè)備的adb路徑搜贤,雖然官方文檔說(shuō)會(huì)讀取默認(rèn)ANDROID_SDK_ROOT 環(huán)境變量的地址谆沃,但親測(cè)無(wú)法讀取。
2 點(diǎn)擊刷新按鈕仪芒,確認(rèn)顯示當(dāng)前DeviceID唁影,說(shuō)明 adb 連接成功
3 點(diǎn)擊Start 按鈕, 設(shè)備這一行顯示綠色掂名,說(shuō)明adb forard 執(zhí)行成功
4 點(diǎn)擊Run test据沈,執(zhí)行單元測(cè)試
總結(jié)
關(guān)于AltUnity Tester的更多信息,請(qǐng)參考官方文檔
https://altom.gitlab.io/altunity/altunitytester/pages/overview.html