2021年四大流行Android手機自動化測試工具,全在這裡了!
Android 自動化測試的工具非常多,但是目前主流使用的就那幾個,我會詳細說明他們各自的情況,你可以根據自己的需要決定使用哪款工具。
Appium
Appium 是目前最主流的移動測試自動化框架,不僅支援 Android 應用,而且適用於 iOS、混合和 Web 應用程式。
它底層完全使用了 Selenium 和 WebDriver 的 API,所以如果你之前有用過 selenium,幾乎不需要額外的學習成本就可以使用 appium。
appium 通過 uiautomator(API 級別 16 或更高)和 Seledroid(API 級別低於 16)支援 Android,但是你不需要具體懂這兩個框架的具體用法,appium 都已經幫你封裝成了統一的使用規則。
Appium 的最大優勢之一是幾乎可以使用任何程式語言(例如 Java、Objective-C、JavaScript、PHP、Ruby、Python 或 C# 等)編寫 Appium 指令碼。
這意味這選擇權在你,你可以使用自己最擅長的程式語言。如果你還熟悉 Selenium,那麼不出意外,你可以在一天之內上手使用。
另外 webdriver 是一個統一的標準,已經提交給了 w3c 組織,你可以基於它的協議做進一步的擴充套件。看看簡單的程式碼:
textFields = driver.find_elements_by_tag_name('textField')assertEqual(textFields[0].get_attribute("value"), "Hello")複製程式碼
Airtest
第二個我要推薦國產之光 Airtest。Airtest 專案是由網易遊戲推出的一款自動化測試框架,專案有幾大元件:
Airtest:是一個跨平臺的、基於影象識別的 UI 自動化測試框架,適用於遊戲和 App,支援平臺有 Windows、Android 和 iOS
Poco:是一款基於 UI 控制元件識別的自動化測試框架,目前支援 Android 原生 app/iOS 原生 app/微信小程式,還有主流的遊戲引擎,也可以在其他引擎中自行接入 poco-sdk 來使用
AirtestIDE:跨平臺的 UI 自動化測試編輯器,內建了 Airtest 和 Poco 的相關外掛功能,能夠使用它快速簡單地編寫 Airtest 和 Poco 程式碼,甚至都可以不寫程式碼。
AirLab:真機自動化雲測試平臺,提供了非常多的手機型號和相容性測試、海外雲真機相容性測試等服務
私有化手機叢集技術方案:從硬體到軟體,提供企業內部私有化手機叢集的解決方案
使用 Airtest 的好處是中文文件健全,對英文不好的同學支援優化。官網也貼心的準備了視訊教學和演示,幫助你快速上手。
Detox
這個框架非常低調,但是你用過一定會愛上它。
Detox 一個非常強的 JavaScript 移動測試框架,它的測試執行非常快速和健壯,因為在測試執行期間不需要外部附加工具來編排和同步。
如果你優先考慮以下因素,你可以直接選用 detox:
使用 JavaScript 程式語言
比其他測試自動化框架更易於除錯
app 是 React Native 開發的,可迅速和 detox 整合
在測試執行方面比 Appium 快
文件比較容易掌握
下面是具體的程式碼,比較典型的程式碼編寫方式:
describe('HelloDetoxTest', () => {
beforeEach(async () => {
await device.reloadReactNative();
});
it('應該有歡迎螢幕', async () => {
await expect(element(by .id('welcome'))).toBeVisible();
});
it('should show hello Rect after tap', async () => {
await element(by.id('hello_react')).tap() ;
await expect(element(by.text('React!!!'))).toBeVisible();
});
it('點選後應該顯示螢幕', async () => {
await element(by.id ('detox_button')).tap();
await expect(element(by.text('Detox!!!'))).toBeVisible();
});
});
Espresso
Espresso 是新型的的 Android 測試自動化框架,由 Google 開源,Espresso 的 API體積小、可預測、易於學習。
你可以使用它快速編寫簡潔可靠的 Android UI 測試。
它非常可靠,與 UI 執行緒同步並且速度很快,因為不需要任何睡眠(當應用程式空閒時,測試在同一毫秒內執行)。
而且通過簡單的配置,可以直接整合在 appium 中。