APP UI自動化測試思路總結
首先想要說明一下,APP自動化測試可能很多公司不用,但也是大部分自動化測試工程師、高階測試工程師崗位招聘資訊上要求的,所以為了更好的待遇,我們還是需要花時間去掌握的,畢竟誰也不會跟錢過不去。
接下來,一起總結一下APP UI自動化測試的思路吧。
一,開發語言選擇
通常用於自動化測試的程式語言有:Python、Java、Javascript、Ruby、C#、PHP等。一般我們會選擇自己熟悉的程式語言來編寫自動化指令碼,但對於程式設計基礎基本為0的童鞋(或者專注於做自動化測試的童鞋),推薦學習使用Python。
相對於其他語言,Python做自動化測試有以下優點:
對於初學者來說,Python語法簡潔,可讀性強,易於學習
有強大的第三方庫,編寫指令碼效率更高
Python中的Pytest自動化測試框架是目前最流行的測試框架之一
二,測試框架選擇
選擇編開發語言之後,我們需要選擇UI測試框架。目前較為主流或者使用較多的APP UI自動化測試框架有Appium、Airtest等。
1,Appium
開源
Appium server支援在Windows、macOS、Linux上執行
支援多種主流程式語言,如Python、Java、Javascript、Ruby等
支援Android、ios、H5自動化測試(整合了UiAutomator、UiAutomation框架)
環境搭建較為複雜
2,Airtest
由網易開發(官方文件),只支援python語言
提供整合Airtest與Poco兩個測試框架的強大的IDE,對新手很友好
整合基於影像識別的UI自動化測試框架airtest,即使不懂程式碼也能編寫自動化指令碼
跨平臺,可對Windows、Android和iOS應用軟體進行自動化測試
對遊戲測試較為友好
Airtest與Poco本質上是python的兩個第三方庫,測試環境搭建沒有Appium那麼複雜
3,選擇框架
根據實際情況選擇合適的框架。
以下情況可以優先選擇網易的Airtest (Airtest官網):
無程式設計基礎
遊戲測試
測試場景較為單一(Appium相對來說較為笨重)
支付寶小程式自動化(博主目前使用Airtest整合的Poco框架做支付寶小程式自動化測試)
以下情況建議選擇Appium:
測試場景比較複雜(如需要多臺手機批次測試)
測試指令碼語言非Python(Airtest目前只支援Python)
三,單元測試框架選擇
區別於上面所說的UI測試框架,單元測試框架用於載入測試用例、執行測試用例、斷言、輸出測試結果等。
不同的開發語言有各自對應的單元測試框架,如Java有JUnit、TestNG、Robot等,Python有unittest、pytest等。博主主要使用Python做自動化測試,所以這裡只針對Python單元測試框架做說明。
python主流的單元測試框架:
unittest,Python自帶的單元測試框架
pytest,基於unittest開發,易用性好,資訊更詳細,外掛眾多
robot framework,基於Python的關鍵字驅動測試框架,有介面,自帶報告及log,功能完善,清晰美觀
這裡強烈推薦使用pytest,功能強大且容易上手,官方文件為英文,中文可參考Pytest 使用手冊。
四,測試環境搭建
1,測試電腦選擇
有條件的話建議使用Mac機器專門用於UI自動化測試,因為ios app ui自動化只能在Mac機器上進行。
2,測試手機選擇
剛開始進行測試指令碼除錯時可以選擇模擬器,Android模擬器可選擇Gernymotion、夜神模擬器,具體參考部落格Android模擬器的使用
待整個測試專案開發完成後,建議換成真機跑自動化指令碼,這樣更接近真實的使用者使用場景。
3,開發語言環境
建議安裝python 3以上的版本,官方已經停止對python2版本的更新維護。
4,UI自動化測試框架環境搭建
windows環境下搭建Appium請參考部落格appium環境搭建,Mac下搭建Appium稍微複雜點,後續會寫部落格分享。
若選擇Airtest框架的話,請參考官網。
五,指令碼編寫
1,編寫測試demo
為了驗證整個測試環境是否搭建成功、是否能跑通用例,一般我們需要先編寫簡單的測試指令碼並執行,透過則說明整個環境搭建成功。
2,確定目錄結構
推薦使用Page Object設計模式來開發APP UI自動化測試專案,請參考部落格Page Object設計模式。
3,選擇測試報告
不同的開發語言、不同的單元測試框架可選用不同的測試報告。在python中,unittest框架使用HTMLTestRunner或BSTestrunner生成測試報告,可參考部落格unittest單元測試框架。Pytest框架使用pytest-html生成報告或透過allure定製測試報告。
以上步驟完成後,繼續往測試專案裡新增測試用例便可。
六,Jenkins整合
根據上述步驟編寫完成整個app UI自動化測試專案,且執行一段時間穩定後,就可以考慮進行Jenkins的整合,請參考部落格Jenkins整合appium自動化測試(Windows篇) 或 遠端Jenkins新增Mac節點。
七,總結
總結APP UI自動化可使用以下幾種實現方式:
1,python + appium + unittest + HTMLTestRunner
2,python + appium + pytest + pytest-html / allure
3,python + Airtest(AirtestIDE)
4,python + Poco + pytest + pytest-html / allure
可根據實際情況自行選擇。
作者:軟體測試小dao
連結:
來源:掘金
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1600/viewspace-2796917/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- pyest+appium實現APP自動化測試,思路全總結在這裡APP
- 自動化測試系列 —— UI自動化測試UI
- 自動化測試思路
- 「UI 測試自動化selenium」彙總UI
- 自動化測試總結(二)
- 自動化測試框架思路框架
- 自動化測試實踐總結
- 自動化測試系列(三)|UI測試UI
- iOS appium UI 自動化測試配置可控 xpathiOSAPPUI
- 介面自動化測試框架搭建總結框架
- UI自動化測試實戰UI
- UI自動化測試之AirtestUIAI
- UI 自動化測試平臺UI
- 測中策---我的Web自動化測試思路Web
- UI自動化測試框架Cypress初探UI框架
- Postman實現UI自動化測試PostmanUI
- UI自動化測試工程實踐UI
- 介面自動化測試框架搭建的思路框架
- python自動化測試(一)--uiautomator總結PythonUI
- Web前端自動化測試Cypress實踐總結Web前端
- Android 下的自動化測試工具總結Android
- 自動化測試 RobotFramework自定義靜態測試類庫總結Framework
- 關於Web端-UI自動化測試WebUI
- UI自動化測試-web元素選擇UIWeb
- 前端ui自動化測試sdk封裝前端UI封裝
- 前端自動化UI測試的完整方案前端UI
- 總結下 ui 自動化驅動架構UI架構
- 移動端 UI 自動化測試框架對比UI框架
- 基於python+appium+yaml安卓UI自動化測試分享PythonAPPYAML安卓UI
- 自動化測試工具分析和總結-實時更新
- 關於介面測試自動化的總結與思考
- APP自動化測試過程概述APP
- android 5個自動化測試Ui框架AndroidUI框架
- ui自動化測試,頁面方法的使用UI
- 關於 ui 自動化測試 driver 疑問?UI
- 基於PhantomFlow的自動化UI測試UI
- [原創]淺談Web UI自動化測試WebUI
- 搭建 WPF 上的 UI 自動化測試框架UI框架