UI2 在專案中的應用

ZFW發表於2024-07-14

背景

領導對自動化測試能力,比較看重,所以決定在測試團隊中,推廣自動化測試能力,包括介面自動化、web ui 自動化、pc client ui 自動化,目前還缺少移動端自動化和 sdk 自動化,包含 pad、ios、android 三個不同終端。

技術選型

  1. 介面、webui、pc 端,目前採用 pytest,統一抽象封裝在自己一套框架中,測試用例,不同端,可以互相呼叫,做到 web 端與 pc 端或者介面端互相互動。
  2. 安卓選型,在 appium 和 ui2 中,我們選擇了 ui2,調研中發現,appuium 底層部分,也是二次封裝的 ui2,所以過濾掉 appium,直接使用 ui2,效能會有較大提升,並且 appium 的官方 git 文件,描述相當少,對於開發者來說,使用也不友好,ui2 的官方文件,描述清晰,api 也全,例子豐富,對於第三方開發團隊,相當友好
  3. ios 選型,這裡一開始選擇的 appium,後面實現過程中發現,appium 的速度真的很慢,而且需要安裝的環境依賴也相當多,比如 node,然後各種 npm 的庫,部分控制元件,會出現識別不到的問題,所以後續這邊,棄用 appium,選擇了 facebook-wda 的框架,後者只需要直接透過 python 安裝就可以了,降低了環境依賴問題,並且採用了 tidevice 的工具,實現了在 windows 下自動化 ios 的功能,解決了一個很大的痛點問題。

落地效果

框架實現後,目前已經逐步開始推廣測試人員編寫自動化用例了,我司的要求是,功能測試人員,都需要一定的自動化能力,後續準備嘗試開展,低程式碼平臺的自動化能力,以及透過 AI 大資料訓練自動生成自動化指令碼能力。

致謝

這裡感謝@codeskyblue對 ui2 和 tidevice 的開源,幫助了廣大測試同行解決了在移動端自動化中的痛點,最近作者新出了 uiautodev,目前也是相當好用,效能很快,還同時支援 android 和 ios 的元素檢測。

相關文章