APP自動化測試環境建置
建立應用程式 UI 自動化測試 - 以 Robot Framework 為例
https://ithelp.ithome.com.tw/users/20168859/ironman/7650
install appium
https://ithelp.ithome.com.tw/articles/10360843
Robot Framework 安裝及初體驗
install python
https://www.python.org/downloads/
install nvm
https://github.com/coreybutler/nvm-windows
nvm install lts
nvm use 22.16.0
npm install -g appium
install appium-inspector
https://github.com/appium/appium-inspector
{
"platformName": "Android",
"appium:automationName": "uiautomator2",
"appium:deviceName": "Android",
"appium:appPackage": "com.android.settings",
"appium:appActivity": ".Settings"
}
# 安裝其他套件
pip install robotframework
pip install robotframework-appiumlibrary
要讓 Appium 透過 USB 控制實體手機(例如 Android)來做測試,你需要讓你的 notebook(筆電)與手機透過 USB 連線,並配合幾個工具來完成連接。這裡用 Android + Windows notebook 為範例流程說明。
✅ 一、前置條件檢查
📱 手機端設定:
-
開啟「開發者選項」
-
到手機設定 → 關於手機 → 點「版本號」七次 → 解鎖開發者模式
-
-
打開 USB 偵錯
-
設定 → 系統 → 開發者選項 → 開啟「USB 偵錯」
-
-
用 USB 傳輸線接上筆電
✅ 二、筆電端(Windows)準備
1️⃣ 安裝 ADB(Android Debug Bridge)
最快方法:安裝 Android Platform Tools(免裝 Android Studio):
👉 下載網址:https://developer.android.com/studio/releases/platform-tools
Windows
解壓縮後,把 platform-tools
資料夾加到環境變數 PATH
。
Mac
brew install --cask android-platform-tools
驗證:
adb devices
第一次會提示你在手機上授權,允許 USB 偵錯。
✅ 三、安裝 Appium 驅動(UIAutomator2)
appium driver install uiautomator2
確認:
appium driver list
✅ 四、啟動 Appium Server
appium
預設會在 http://localhost:4723
開啟伺服器。
✅ 五、撰寫測試程式連接手機
📝 以 Python 為例(也可用 Java、JS 等)
from appium import webdriver
desired_caps = {
"platformName": "Android",
"deviceName": "Android Device", # 或填 adb devices 顯示的 ID
"appPackage": "com.android.settings", # 測試用,可改成你自己的 app
"appActivity": ".Settings",
"automationName": "UiAutomator2"
}
driver = webdriver.Remote("http://localhost:4723/wd/hub", desired_caps)
driver.quit()
✅ 六、常見問題排解
問題 | 解法 |
---|---|
adb devices 看不到手機 |
檢查線材、USB 傳輸模式是否為「資料傳輸」,確認有開 USB 偵錯 |
Appium 找不到設備 | 確認驅動安裝好、手機有授權、Appium Server 已啟動 |
Appium 錯誤:no device found | 驗證 adb devices 有成功列出設備 |
Appium Inspector 無法開啟 session | 確認 desired capabilities 正確,並與 appium port 對上 |
如果你想搭配 Robot Framework 來寫測試,也可以再幫你整合 robotframework-appiumlibrary 的使用方式。
是否也需要說明 iOS 連線流程(macOS + iPhone 測試)?