什么是App自動化?為什么要做App自動化?
App自動化是指給 Android或iOS上的軟件應(yīng)用程序做的自動化測試。
手工測試和自動化測試的對比如下:
手工測試優(yōu)勢:不可替代、發(fā)現(xiàn)更多bug、包含了人的想象力與理解力。
注意,不是所有功能都需要自動化。
自動化測試優(yōu)勢:可重復(fù)、效率高,增加軟件信任度。
App測試自動化的目的如下:
- 執(zhí)行自動化測試只會發(fā)現(xiàn)很少的bug。
- 執(zhí)行自動化冒煙測試或回歸測試是用來驗證系統(tǒng)狀態(tài),而不是找出更多bug。
- 執(zhí)行自動化測試可以讓測試同事有更多的精力來關(guān)注復(fù)雜場景,做更多更深層次的測試。
- 編寫自動化測試過程中會發(fā)現(xiàn)一部分bug,發(fā)現(xiàn)后要及時記錄。
什么是Appium?
Appium 是一個開源工具,用于自動化 iOS 手機、 Android 手機和 Windows 桌面平臺上的原生、移動 Web 和混合應(yīng)用。「原生應(yīng)用」指那些用 iOS、 Android 或者 Windows SDKs 編寫的應(yīng)用。「移動 Web 應(yīng)用」是用移動端瀏覽器訪問的應(yīng)用( Appium 支持 iOS 上的 Safari 、Chrome 和 Android 上的內(nèi)置瀏覽器)。「混合應(yīng)用」帶有一個「webview」的包裝器——用來和 Web 內(nèi)容交互的原生控件。類似于 Apache Cordova 或 Phonegap 項目,創(chuàng)建一個混合應(yīng)用使得用 Web 技術(shù)開發(fā)然后打包進原生包裝器創(chuàng)建一個混合應(yīng)用變得容易了。
重要的是,Appium 是跨平臺的:它允許你用同樣的 API 對多平臺(iOS、Android、Windows)寫測試。做到在 iOS、Android 和 Windows 測試套件之間復(fù)用代碼。
為什么是Python?
appium支持多種語言Ruby、Python、Java、JavaScript、Objective C、php、C#、RobotFramework。
我喜歡用Python,就是這樣。
iOS App自動化都需要安裝什么
硬件
- macOS 電腦 (必須)
- iOS 手機 (必須)
軟件、依賴庫
- Xcode (必須)
- Appium Desktop (必須)
- python (必須)
- pycharm (非必須)
- node.js (必須)
- cnpm (必須)
- ios-deploy (必須)
- homebrew (必須)
- libimobiledevice (必須)
- carthage (必須)
- WebDriverAgent(非必須)
其他
- Apple ID (必須)
Tips: 以上都是按照真機自動化羅列。
開始吧!
假設(shè)你已經(jīng)有了macOS 電腦和iOS手機。
- Xcode
- 打開App Store搜索Xcode安裝
- 直接在Apple開發(fā)者官網(wǎng)下載 Xcode 12.4
- Appium Desktop
在appium-desktop github 官網(wǎng)下載,選擇 Appium-mac-1.20.2.dmg: - homebrew (必須)
打開終端,執(zhí)行命令/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安裝時遇到問題?查看Mac下安裝Homebrew的經(jīng)歷 - python (必須)
- 如果你已經(jīng)安裝homebrew,則執(zhí)行命令
brew install python3,即可安裝python,安裝路徑/usr/local/Cellar - 也可以直接下載python安裝文件,雙擊安裝。Python 3.9.2 for macos
- 如果你已經(jīng)安裝homebrew,則執(zhí)行命令
- pycharm (非必須)
只是python編輯器,看個人習(xí)慣,我喜歡用這個。下載地址:pycharm for mac
你可以用其他IDE,VSCode之類的。 - node.js (必須)
直接官網(wǎng)下載安裝node.js for Mac - cnpm (必須)
打開終端,執(zhí)行命令sudo npm install -g cnpm --registry=https://registry.npm.taobao.org
安裝cnpm是為了下一步快速安裝ios-deploy。 - ios-deploy (必須)
打開終端,執(zhí)行命令sudo cnpm install -g ios-deploy - libimobiledevice (必須)
打開終端,執(zhí)行命令brew install --HEAD libimobiledevice - carthage (必須)
打開終端,執(zhí)行命令brew install carthage - WebDriverAgent(非必須)
直接在WebDriverAgent github 官網(wǎng)下載。Tips: 網(wǎng)上有教程是下載這個WebDriverAgent項目,修改之后,再替換Appium自帶的WebDriverAgent。親測以后發(fā)現(xiàn)沒必要,還會報錯,直接修改Appium自帶的WebDriverAgent就可以了,當(dāng)然要做好備份哦。(修改方法在真機自動化文章中會介紹,模擬器不需要)
安裝過程中如果遇到問題,可以留言。
下一篇,Appium+Python進行iOS App自動化測試(2)使用Appium啟動在模擬器上的App。
參考博客:
App自動化測試方案
Appium 介紹
Appium 簡介
Have fun.