第一次翻譯文檔 在發佈前先請大家瀏覽過,看有沒有什麼問題
歡迎大家批評指教
在模擬器上測試 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 的說明文檔。