Google增強現實測試自動化工具介紹
移動裝置中最有趣的領域之一是增強現實(AR)平臺和應用程式的快速發展,利用移動裝置的攝像頭實時覆蓋實時視訊流上的UI元素。這些應用程式和遊戲建立了非常吸引人的使用者體驗,但由於以下原因很難測試:
-
應用程式的輸入來自裝置攝像頭生成的實時視訊源,以及內建加速度計生成的資訊。不需要在螢幕上產生點選,而是需要移動裝置以向被測應用程式提供輸入。
-
使用者體驗對輸入中的任何延遲,失真和噪聲非常敏感,因此,除了更傳統的定量失敗/通過測試結果之外,測試還涉及重要的定性成分。
-
在視訊流之上實時處理移動視訊和覆蓋3D物件是非常耗費資源的,並且大部分處理是在裝置的專用硬體加速晶片上完成的。因此,必須使用真實裝置,並且測試結果從一個裝置(或硬體平臺)到另一個裝置(或硬體平臺)不同。
當Google向Bitbar提出自動化AR應用程式測試流程的要求時,從一開始就很清楚,這不是一個標準的測試自動化專案,因此解決方案必須是一個高度定製的私有裝置雲,將這些需求納入其中帳戶。同樣清楚的是,所有這一切都不能通過定製軟體單獨實現,但還需要創新的硬體安排來完成這項工作。
第一個任務是建立一個物理佈置,其中所有裝置都位於一個平面上,距離裝置大約2英尺(60釐米)的三維“桌子”的距離相同。此外,該表需要具有不同的紋理,以便增強現實平臺能夠將疊加的3D物件對齊在桌面上方。最後,我們需要確保桌子上和周圍的均勻照明條件,以便陰影或暗區不會對測試過程造成干擾。這是通過連線從四個方向指向桌子的廣角LED燈來實現的,從而形成均勻的光毯。

圖片.png
第二個要求更具挑戰性:為了能夠校準AR應用,自動化必須將裝置移動一段時間以一起校準視訊和加速度計輸入。每次重新安裝應用程式時(每次都是這種情況)都必須這樣做。為了使設定更復雜,在執行實際測試時,裝置必須是靜止的。為了解決這個問題,我們將裝置安裝在振盪平面上,並使用定製的控制器通過API呼叫來振盪平面。通過這種方式,客戶可以直接從測試指令碼啟動和停止振盪,並完全控制整個自動化測試流程。
測試本身是在所有(Android和iOS)裝置上同時執行的標準伺服器端Appium測試,以確保可比較的測試結果。測試的輸出是傳統的通過/失敗資訊,執行的詳細視訊以及關鍵硬體指標(CPU,GPU,記憶體)的使用情況的詳細指標。
ofollow,noindex">演示視訊
參考資料
- 討論 釘釘群21745728 qq群144081101 567351477
- 本文最新版本地址
- 本文原始碼地址
- 本文涉及的python測試開發庫 謝謝點贊!
- https://bitbar.com/how-bitbar-helped-google-to-automate-their-augmented-reality-testing/