UI2 在專案中的應用
背景
領導對自動化測試能力,比較看重,所以決定在測試團隊中,推廣自動化測試能力,包括介面自動化、web ui 自動化、pc client ui 自動化,目前還缺少移動端自動化和 sdk 自動化,包含 pad、ios、android 三個不同終端。
技術選型
- 介面、webui、pc 端,目前採用 pytest,統一抽象封裝在自己一套框架中,測試用例,不同端,可以互相呼叫,做到 web 端與 pc 端或者介面端互相互動。
- 安卓選型,在 appium 和 ui2 中,我們選擇了 ui2,調研中發現,appuium 底層部分,也是二次封裝的 ui2,所以過濾掉 appium,直接使用 ui2,效能會有較大提升,並且 appium 的官方 git 文件,描述相當少,對於開發者來說,使用也不友好,ui2 的官方文件,描述清晰,api 也全,例子豐富,對於第三方開發團隊,相當友好。
- ios 選型,這裡一開始選擇的 appium,後面實現過程中發現,appium 的速度真的很慢,而且需要安裝的環境依賴也相當多,比如 node,然後各種 npm 的庫,部分控制元件,會出現識別不到的問題,所以後續這邊,棄用 appium,選擇了 facebook-wda 的框架,後者只需要直接透過 python 安裝就可以了,降低了環境依賴問題,並且採用了 tidevice 的工具,實現了在 windows 下自動化 ios 的功能,解決了一個很大的痛點問題。
落地效果
框架實現後,目前已經逐步開始推廣測試人員編寫自動化用例了,我司的要求是,功能測試人員,都需要一定的自動化能力,後續準備嘗試開展,低程式碼平臺的自動化能力,以及透過 AI 大資料訓練自動生成自動化指令碼能力。
致謝
這裡感謝@codeskyblue對 ui2 和 tidevice 的開源,幫助了廣大測試同行解決了在移動端自動化中的痛點,最近作者新出了 uiautodev,目前也是相當好用,效能很快,還同時支援 android 和 ios 的元素檢測。
相關文章
- JWT在專案中的簡單應用JWT
- PFMEA在專案風險管理中的應用
- 專案管理軟體在企業中的應用專案管理
- Redis在Web專案中的應用與實踐RedisWeb
- Redis 在 Web 專案中的應用與實踐RedisWeb
- Zustand:狀態持久化在專案中的應用持久化
- 關於 fontawesome 庫在 Spartacus 專案中的應用
- Jaeger鏈路追蹤在專案中的應用
- FMEA技術在IT專案風險管理中的應用
- Jenkins在Java web專案CI/CD中的簡單應用JenkinsJavaWeb
- 甘特圖在六西格瑪專案中的應用
- 關於 index.ts 在大型 Angular 專案中的應用IndexAngular
- 26.RSA加密解密在Java專案中的簡單應用加密解密Java
- 六西格瑪管理在北京IT專案中的應用探討
- React專案中應用TypeScriptReactTypeScript
- Vue專案中應用TypeScriptVueTypeScript
- TRIZ在專利佈局中的應用
- web開發實戰教程:Apache Shiro在web專案中的應用WebApache
- AI大模型+低程式碼,在專案管理中的應用實踐AI大模型專案管理
- 在Docker容器中執行GUI圖形應用的開源專案DockerGUI
- ASR專案實戰-任務佇列在檔案轉寫特性中的應用佇列
- 淺談設計模式在iOS開發實戰專案中的應用設計模式iOS
- 報表模板—在專案管理中應用資料包表分析專案管理
- Vue合理配置axios並在專案中進行實際應用?VueiOS
- 專案管理軟體在實際工作中怎麼應用?專案管理
- IOC技術在前端專案中的應用前端
- Kubernetes 多叢集在開源專案 KubeSphere 的應用
- 奧卡姆剃刀原則在ERP專案的應用
- 如何在 Android 專案中應用 OpenCV?AndroidOpenCV
- TRIZ矛盾矩陣在專利分析中的應用矩陣
- 三維鐳射掃描技術在文保修繕專案中的應用
- Objc Runtime在專案中該怎麼用OBJ
- 在 Go 專案中基於本地記憶體快取的實現及應用Go記憶體快取
- 如何清除在專案中無用的css程式碼呢?CSS
- Vue作為元件在前端專案中的應用技巧Vue元件前端
- 在專案中應該使用Boolean還是使用boolean?Boolean
- redis在nodejs中的應用RedisNodeJS
- redis在python中的應用RedisPython