第一次翻譯文檔 在發佈前先請大家瀏覽過,看有沒有什麼問題
歡迎大家批評指教
在模擬器上測試 apps 必須要用模擬器專用的編譯器,例如說使用下列的命令來編譯 Xcode 項目:
> xcodebuild -sdk iphonesimulator6.0
這行指令在 Xcode 項目底下創建了一個build/Release-iphonesimulator
目錄,並且生成一個可以透過 Appium 服務器來交流的的.app
封包。
如果需要,你可以把.app 目錄壓縮成一個 zip 壓縮檔!Appium 會自行解壓縮。讓你能方便在非本地運行 Appium。
用 Appium 去執行你的.apk 檔其實沒什麼特別需要注意的事項。如果需要,你可以把它壓縮成 zip 壓縮檔。
目前最好的測試方式請參照測試範例:
Node.js | Python | PHP | Ruby | Java
基本上來說,首先先確定你啟動了 Appium:
node . -V
然後執行你的 WebDriver 測試腳本,腳本必須包含下列的環境參數:
{
device: 'iPhone Simulator',
browserName: '',
version: '6.1',
app: myApp
}
在這個腳本集裡,myApp
必須是下列其中之一:
在你選擇的 WebDriver 庫裡,設定 remote session 使用上述的環境參數然後使用端口 4723 來連接本地服務器 (或著是使用你在 Appium 啟動時所設定的任意端口)。現在你已經設置完成了!
首先,先確定你有一個而且必須是只能一個 Android 模擬器或著設備連接著。如果你輸入adb devices
,你應該只看到一個設備連接著。這將是 Appium 所用來測試的設備。當然,要連接一個設備,你需要準備好一個 Android AVD (參考 系統設置 以了解更多). 如果 Android SDK 工具在你的路徑下,你可以簡單的執行:
emulator -avd <我的 Avd 名稱>
然後等 android 模擬器啟動。有時候,因為某些原因,adb
會卡住。如果它沒有顯示任何的設備或其他故障,你可以使用下列指令來重啟:
adb kill-server && adb devices
現在,確認 Appium 已經啟動:
node .
然後執行你的 WebDriver 測試腳本,腳本必須包含下列的環境參數:
{
device: 'Android',
browserName: '',
version: '4.2',
app: myApp,
'app-package': myAppPackage,
'app-activity': myAppActivity
}
在這個腳本集裡,myApp
必須是下列其中之一:
myAppPackage
必須是你的應用的 java package,例如, com.example.android.myApp
.
myAppActivity
必須是你的希望測試的 Android activity, 例如, MainActivity
.
在你選擇的 WebDriver 庫裡,設定 remote session 使用上述的環境參數然後使用端口 4723 來連接本地服務器 (或著是使用你在 Appium 啟動時所設定的任意端口)。現在你已經設置完成了!
低於 4.2 版本的 Android 設備 (API Level 17) 沒有安裝 Google 的用戶界面自動化框架/UiAutomator framework.下面的範例是早期 Appium 在這些設備上的測試方法。對於早期的設備以及使用混合模式 (webview-based) 製作的 apps, Appium 包含了另一種自動化測試後端Selendroid.
要使用 Selendroid, 只需要在之前提到的環境參數上稍作修改即可,把'Android' 換成 'Selendroid':
{
device: 'Selendroid',
browserName: '',
version: '2.3',
app: myApp,
'app-package': myAppPackage,
'app-activity': myAppActivity
}
這樣 Appium 就會使用 Selendroid 取代預設的測試會話。使用 Selendroid 的缺點是有時候它的 API 跟 Appium 非常不同。所以我們建議你在為你的舊設備或著混合 app 寫測試腳本之前先仔細的閱讀Selendroid 的說明文檔。