前言
最近學習android開發,想學習一些android測試相關的技能,是以在網上收集了一些android測試的資料。
今天收集了android自動化測試的一些資料。本文的出處如下:
作者:developerHaoz
連結:https://www.jianshu.com/p/05e6f6292692
來源:簡書
一、概述
Android平台的自動化測試可以從兩方面入手
- Android端的自動化測試架構
- 各大雲測試平台
- 騰訊優測雲測試平台
- 華為開發者聯盟
- 貫衆雲測試
- Testin雲測
測試的内容包括:
- 相容性測試:安裝、啟動、解除安裝
- 功能測試:手勢操作、功能驗證
- 穩定性測試:app是否容易出現閃退等現象,壓力測試
- 場景測試:模拟真實網路場景,2、3、4G、wifi網路的切換
上面介紹了android自動化測試的兩個方向以及測試的具體内容,接下來談談他們之間的差別和優缺點。
- android自動化測試架構
利用android端的自動化架構,可以通過代碼完成相應的測試用例,盡量覆寫所有使用場景,讓人工的重複性操作轉化成腳本的自動化執行。但是對代碼的要求能力較高,而且由于要覆寫太多的使用場景,是以很考驗測試人員對APP的整體了解和把握,而且一般多用于UI測試,無法進行相容性測試,畢竟收集有限。
- 利用雲測試平台的好處還是很多的,畢竟人家是專業搞這個的,是以很多你沒考慮到的東西,别人都已經幫你內建到平台裡面了。而且相對于 Android 自動化測試架構,各大雲測試平台還能給你提供各種各樣的機型,例如華為開發者聯盟就提供了大部分華為和榮耀系列的手機,手機版本從 4.4 到 7.0 都有,看着這些優點是不是覺得美滋滋。缺點嘛,其實不多,就一個「收費」。這當然也能了解,畢竟人家也是要吃飯的,如果免費給你用,那還要不要人活了。
二、自動化測試架構
2.1 Espresso
它是Google針對Android平台開源的一款Android自動化測試架構,主要是用于Android APP UI自動化測試。
這裡簡單說下UI自動化測試:我們作為APP的使用者,要讓機器模拟我們的測試過程,那麼久需要針對我們的肉眼看到的那些界面,那些按鈕,也就是UI元件進行相應的操作和結果正确性的驗證。
比如說,作為使用者我們并不關心某個網絡請求傳回值的具體資料是否正确,我們關心的是在界面看到我們想要看到的結果。是以,做UI自動化測試使用者的時候,一個通用的設計思路就是:找到某個元素,做一些操作,檢查結果,把自己當做使用者,隻關注我們能看到的東西。
Espresso畢竟是Google自己出的,優點還是很多的
- 用Java來寫代碼,對android開發者也很友好
- API很小,當然也會對擴充開放的
- Espresso的測試跑起來那是相當的快(沒有等待,沒有睡眠)
- Gradle和Android Atudio的支援
- 更多 Espresso 的例子請戳:https://github.com/vgrec/EspressoExamples
2.2 UI Automator
UI Automator所運作的JUnit測試使用者是有特殊權限的,這意味着測試用例可以跨越不同的程序,它提供了五種不同的類給開發人員使用:
- com.android.uiautomator.core.UiCollection;
- com.android.uiautomator.core.UiDevice;
- com.android.uiautomator.core.UiObject;
- com.android.uiautomator.core.UiScrollable;
- com.android.uiautomator.core.UiSelector
不過,比較遺憾的是,UI Automator隻能工作在API16或者更進階别的Android裝置上,而且也沒有辦法直接通路Android對象。
2.3 Appium
Appium是一款移動的自動化測試架構,牛逼的地方在于支援IOS和Android原生和混生的移動Web應用程式。它内部使用的JSONWireProtocol通過Selenium的WebDriver,來與IOS和android應用進行互動。通過UI Automator和Seledroid支援Android,通過UI Automation支援IOS,上面這些話,看看就好了,反正我也不懂。
Appium最大的優點在于你幾乎可以用任何一種程式設計語言,例如java、objective-C、JavaScript、PHP、Ruby)來編寫Applium腳本而不必選擇工具,相容最重要的pigtail(Android 和IOS)而不必安裝和配置裝置适應測試等等。
三、雲測試平台
3.1 騰訊優測雲測試平台
擁有超過1000款測試終端,機型數量龐大,機子比較全。但是僅僅支援android系統,暫時不支援IOS系統。
不過收費蠻高。
3.2 華為開發者聯盟(類推,xiaomi、OPPO有嗎?)
優點:免費
缺點:隻能測試華為的機子
測試主要包括:
相容性測試:
- 華為這邊提供所有華為手機的測試
穩定性測試:
- 安裝、啟動、注冊登入、周遊、解除安裝
- crash、ANR、UI、功能異常
- 提供問題上下截圖和異常截圖
3.3 Testin
Testin是國内較早涉及雲測試領域的公司之一。Testin在雲端部署了300多款1000多部測試終端,終端種類以及數量都比較全面,
該平台也是收費的。
作者:developerHaoz
連結:https://www.jianshu.com/p/05e6f6292692
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權并注明出處。