天天看點

android自動化測試前言一、概述二、自動化測試架構三、雲測試平台

前言

最近學習android開發,想學習一些android測試相關的技能,是以在網上收集了一些android測試的資料。

今天收集了android自動化測試的一些資料。本文的出處如下:

作者:developerHaoz

連結:https://www.jianshu.com/p/05e6f6292692

來源:簡書

一、概述

Android平台的自動化測試可以從兩方面入手

  1. Android端的自動化測試架構
  2. 各大雲測試平台
  • 騰訊優測雲測試平台
  • 華為開發者聯盟
  • 貫衆雲測試
  • 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

來源:簡書

簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權并注明出處。

繼續閱讀