Desired Capabilities簡單來講就是一組設置,這些設置可讓測試腳本控制Appium的運行行爲。下面就逐個對Desired Capabilities中的設置進行闡述。首先看與Appium服務器相關的Capability,Android和iOS兩個平臺都是有效的設置。javascript
基本參數:java
|
自動化測試引擎ios |
|
|
手機操做系統web |
|
|
手機操做系統版本瀏覽器 |
如: |
|
手機或模擬器設備名稱 |
android的忽略,ios如 |
|
|
好比 |
|
啓動手機瀏覽器 |
iOS如: |
|
設置命令超時時間,單位:秒。 |
好比 |
|
Appium是否須要自動安裝和啓動應用。默認值 |
|
|
(Sim/Emu-only) 設定模擬器 ( simulator / emulator ) 的語言。 |
如: |
|
(Sim/Emu-only) 設定模擬器 ( simulator / emulator ) 的區域設置。 |
如: |
|
ios真機的惟一設備標識 |
如: |
|
設置橫屏或豎屏 |
|
|
直接轉換到 WebView 上下文。 默認值 |
|
|
不要在會話前重置應用狀態。默認值 |
|
|
(iOS) 刪除整個模擬器目錄。(Android)經過卸載默認值 |
|
僅對Android測試有效的設置:
關鍵字 |
描述 |
實例 |
---|---|---|
|
啓動app包,通常點開頭 |
如: |
|
Android應用的包名 |
好比 |
|
等待啓動的Activity名稱 |
|
|
設置超時時間 |
|
|
用於執行測試的 instrumentation類 |
|
|
(僅適用於 Chrome 和 webview) 開啓 Chromedriver 的性能日誌。(默認 |
|
|
等待設備在啓動應用後超時時間,單位秒 |
如 |
|
開發工具的 socket 名稱。Chromedriver 把它做爲開發者工具來進行鏈接。 |
如 |
|
須要啓動的 AVD (安卓模擬器設備) 名稱。 |
如 |
|
以毫秒爲單位,等待 AVD 啓動並鏈接到 ADB的超時時間。(默認值 |
|
|
以毫秒爲單位,等待 AVD 完成啓動動畫的超時時間。(默認值 |
|
|
啓動 AVD 時須要加入的額外的參數。 |
如 |
|
使用一個自定義的 keystore 來對 apk 進行重簽名。默認值 |
|
|
自定義keystore路徑。默認~/.android/debug.keystore |
如 |
|
自定義 keystore 的密碼。 |
如 |
|
key 的別名 |
如 |
|
key 的密碼 |
如 |
|
webdriver可執行文件的絕對路徑 應該用它代替Appium 自帶的 webdriver) |
|
|
毫秒爲單位,Webview上下文激活的時間。默認 |
如 |
|
用於啓動activity的intent action。(默認值 |
如 |
|
用於啓動 activity 的 intent category。 (默認值 |
如 |
|
用於啓動activity的標識(flags) (默認值 |
如 |
|
用於啓動 activity 的額外 intent 參數。請查看 Intent 參數 |
如 |
|
在使用 adb 啓動應用時不要中止被測應用的進程。默認值: |
|
|
使用 Unicode 輸入法。默認值 |
|
|
重置輸入法到原有狀態,默認值 |
|
|
跳過檢查和對應用進行 debug 簽名的步驟。默認值 |
|
|
調用 uiautomator 的函數這個關鍵字能加快測試執行的速度。默認值 |
|
|
關閉 android 監測應用無響ANR和崩潰crash的監視器默認值: |
|
|
容許傳入 chrome driver 使用的 chromeOptions 參數。請查閱 chromeOptions 瞭解更多信息。 |
|
僅對IOS測試有效的設置:
關鍵字 |
描述 |
實例 |
---|---|---|
|
(Sim-only) 爲iOS的模擬器設置日曆格式 |
如 |
|
被測應用的bundle ID,真機上執行測試時,你能夠不提供 |
如 |
|
鏈接真機的惟一設備編號 ( Unique device identifier ) |
如 |
|
以毫秒爲單位,在Appium運行失敗以前設置一個等待 instruments的時間 |
好比: |
|
(Sim-only) 強制打開或關閉定位服務。默認值是保持當前模擬器的設定 |
|
|
使用這個關鍵字時,你同時須要使用 |
|
|
當 iOS 的我的信息訪問警告 (如 位置、聯繫人、圖片) 出現時,自動選擇接受( Accept )。默認值 |
|
|
當 iOS 的我的信息訪問警告 (如 位置、聯繫人、圖片) 出現時,自動選擇不接受( Dismiss )。默認值 |
|
|
使用原生 intruments 庫 (即關閉 instruments-without-delay ) |
|
|
(Sim-only) 在Safari中容許"真實的",默認值: |
|
|
(Sim-only) (>= 8.1) Safari 的初始地址。默認值是一個本地的歡迎頁面 |
例如: |
|
(Sim-only) 容許 javascript 在 Safari 中建立新窗口。默認保持模擬器當前設置。 |
|
|
(Sim-only) 阻止 Safari 顯示此網站可能存在風險的警告。默認保持瀏覽器當前設置。 |
|
|
(Sim-only) Safari 是否容許連接在新窗口打開。默認保持瀏覽器當前設置。 |
|
|
(Sim-only) 當 Appium 會話開始/結束時是否保留存放密碼存放記錄 (keychains) (庫(Library)/鑰匙串(Keychains)) |
|
|
從哪裏查找本地化字符串。默認值 |
|
|
經過 instruments 傳遞到 AUT 的參數 |
如 |
|
以毫秒爲單位,按下每個按鍵之間的延遲時間。 |
如 |
|
是否在 Appium 的日誌中顯示設備的日誌。默認值 |
|
|
輸入文字到文字框的策略。模擬器默認值: |
|
|
以秒爲單位,生成屏幕截圖的最長等待時間。默認值: 10。 |
如 |
|
用於判斷 "應用是否被啓動」 的 iOS 自動化腳本代碼。默認狀況下系統等待直到頁面內容非空。結果必須是布爾類型。 |
例如 |
咱們開發主要使用的Capability包括platformName、platformVersion、appPackage、appActivity、unicodeKeyboard、 resetKeyboard和newCommandTimeout。這些Capability基本上已經知足了目前的測試需求。