鍵 | 描述 | 值 |
| 自動化測試的引擎 | Appium (預設)或者 Selendroid |
| 使用的手機作業系統 | iOS, Android, 或者 FirefoxOS |
| 手機作業系統的版本 | 例如 7.1, 4.4 |
| 使用的手機或模拟器類型 | iPhone Simulator, iPad Simulator, iPhone Retina 4-inch, Android Emulator, Galaxy S4, 等等… 在 iOS 上,使用 Instruments 的 instruments -s devices 指令可傳回一個有效的裝置的清單。在 Andorid 上雖然這個參數目前已被忽略,但仍然需要添加上該參數 |
| 本地絕對路徑_或_遠端 http URL 所指向的一個安裝包(.ipa,.apk,或 .zip 檔案)。Appium 将其安裝到合适的裝置上。請注意,如果您指定了 appPackage 和 appActivity 參數(見下文),Android 則不需要此參數了。該參數也與 browserName 不相容。 | /abs/path/to/my.apk 或 http://myapp.com/app.ipa |
| 做自動化時使用的浏覽器名字。 | 如果是一個應用則隻需填寫個空的字元串 ‘Safari’ 對應 iOS,‘Chrome’, ‘Chromium’, 或 ‘Browser’ 則對應 Android |
| 用于用戶端在退出或者結束 session 之前,Appium 等待用戶端發送一條新指令所花費的時間(秒為機關) | 例如 60 |
| (Sim/Emu-only) 為模拟器設定語言 | 例如 fr |
| (Sim/Emu-only) 為模拟器設定所在區域 | 例如 fr_CA |
| 連接配接真機的唯一裝置号 | 例如 1ae203187fc012g |
| (Sim/Emu-only) 模拟器目前的方向 | 豎屏 或 橫屏 |
| 直接轉換到 Webview 上下文(context)。 | 預設值為 false true, false |
| 在目前 session 下不會重置應用的狀态。 表示每次運作不重新啟動 | 預設值為 false true, false |
| (iOS)删除所有的模拟器檔案夾。(Android) 要清除 app 裡的資料,請将應用解除安裝才能達到重置應用的效果。在 Android, 在 session 完成之後也會将應用解除安裝掉。 | 預設值為 false true, false |
Android 獨有
鍵 | 描述 | 值 |
| Activity 的名字是指從你的包中所要啟動的 Android acticity。他通常需要再前面添加. (例如 使用 . 代替 MainActivity) | MainActivity, .Settings |
| 運作的 Android 應用的包名 | com.example.android.myApp, com.android.settings |
| 用于等待啟動的 Android Activity 名稱 | SplashActivity |
| 用于等待啟動的 Android 應用的包 | com.example.android.myApp, com.android.settings |
| 用于等待 appWaitActivity 啟動的逾時時間(以毫秒為機關)(預設值為 20000) | 30000 |
| 用于等待模拟器或真機準備就緒的逾時時間 | 5 |
| 用于執行測試的 instrumentation 類。 傳送 -w 參數到如下指令 | |
| (僅适用于 Chrome 與 webview)開啟 Chromedriver 的性能日志。(預設值為 false) | true, false |
| 用于等待裝置在啟動應用後準備就緒的逾時時間。以秒為機關。 | 例如 30 |
| 用于等待在裝置中安裝 apk 所花費的時間(以毫秒為機關)。預設值為 90000 | 例如 90000 |
| 用來連接配接 ADB 伺服器的端口(預設值為 5037) | 5037 |
| 開發工具的 socket 名稱。隻有在被測應用是一個使用 Chromium 核心的浏覽器時才需要。socket 會被浏覽器打開,然後 Chromedriver 把它作為開發者工具來進行連接配接。 | 例如 chrome_devtools_remote |
| 被啟動 avd 的名字 | 例如 api19 |
| 用于等待 avd 啟動并連接配接 ADB 的逾時時間(以毫秒為機關),預設值為 120000。 | 300000 |
| 用于等待 avd 完成啟動動畫的逾時時間(以毫秒為機關),預設值為 120000。 | 300000 |
| 啟動 avd 時使用的額外參數 | 例如 -netfast |
| 使用自定義的 keystore 給 apk 簽名,預設值為 false | true或false |
| 自定義 keystore 的路徑, 預設路徑為 ~/.android/debug.keystore | 例如 /path/to.keystore |
| 自定義 keystore 的密碼 | 例如 foo |
| key 的别名 | 例如 androiddebugkey |
| key 的密碼 | 例如 foo |
| webdriver 可執行檔案的絕對路徑(如果 Chromium 内嵌一個自己提供的 webdriver,則應使用他去替換掉 Appium 自帶的 chromedriver) | /abs/path/to/webdriver |
| 用于等待 Webview 上下文(context)激活的時間(以毫秒為機關)。預設值為 2000 | 例如 4 |
| 用于啟動 activity 的 intent action(預設值為 android.intent.action.MAIN) | 例如 |
| 用于啟動 activity 的 intent category。(預設值為 android.intent.category.LAUNCHER) | 例如 android.intent.category.LAUNCHER, android.intent.category.APP_CONTACTS |
| 用于啟動 activity 的辨別(flags)(預設值為 0x10200000) | 例如 0x10200000 |
| 用于啟動 activity 的額外 intent 參數。請檢視 Intent 參數 | 例如 , 等等。 |
| 在使用 adb 啟動應用之前,不要終止被測應用的程序。如果被測應用是被其他鈎子(anchor)應用所建立的,設定該參數為 false 後,就允許鈎子(anchor)應用的程序在使用 adb 啟動被測應用期間仍然存在。換而言之,設定 dontStopAppOnReset 為 true 後,我們在 adb shell am start 的調用中不需要包含 -S辨別(flag)。忽略該 capability 或 設定為 false 的話,就需要包含 -S 辨別(flag)。預設值為 false | 或 |
| 使用 Unicode 輸入法。 預設值為 false | true或false |
| 在設定了 unicodeKeyboard 關鍵字的 Unicode 測試結束後,重置輸入法到原有狀态。如果單獨使用,将會被忽略。預設值為 false | true或false |
| 跳過檢查和對應用進行 debug 簽名的步驟。僅适用于 UiAutomator,不适用于 。 預設值為 false | 或 |
| 調用 uiautomator 的函數 setCompressedLayoutHierarchy()。由于 Accessibility 指令在忽略部分元素的情況下執行速度會加快,這個關鍵字能加快測試執行的速度。被忽略的元素将不能夠被找到,是以這個關鍵字同時也被實作成可以随時改變的 設定 ( settings )。 預設值為 false | true 或 false |
| 禁用 android 螢幕(watchers)。螢幕用于見識應用程式的無響應狀态(anr)和崩潰(crash),禁用會降低 Android 裝置或模拟器的 CPU 使用率。該 capability 僅在使用 UiAutomator 時有效,不适用于 selendroid,預設設定為 false。 | true 或 false |
| 允許對 ChromeDriver 傳 chromeOptions 的參數。了解更多資訊請查閱 chromeOptions | |
| 當移除非 ChromeDriver webview時,終止掉 ChromeDriver 的 session。預設設定為 false | true或false |
| 在 web 的上下文(context),使用原生(native)的方法去截圖,而不是用過代理的 ChromeDriver。預設值為 false | true或false |
| 在裝置中截圖被儲存的目錄名。預設值為 /data/local/tmp | 例如 |
| 讓Appium自動确定您的應用需要哪些權限,并在安裝時将其授予應用。預設設定為 false | true或false |
iOS 獨有
鍵 | 描述 | 值 |
| (僅支援模拟器) 為iOS的模拟器設定月曆格式 | 例如 gregorian |
| 被測應用的 bundle ID 。用于在真實裝置中啟動測試,也用于使用其他需要 bundle ID 的關鍵字啟動測試。在使用 bundle ID 在真實裝置上執行測試時,你可以不提供 app 關鍵字,但你必須提供 udid 。 | 例如 io.appium.TestApp |
| 連接配接的真實裝置的唯一裝置編号 (Unique device identifier) | 例如 1ae203187fc012g |
| 以毫秒為機關,在 Appium 運作失敗之前設定一個等待 instruments 的時間 | 例如 20000 |
| (僅支援模拟器)強制打開或關閉定位服務。預設值是保持目前模拟器的設定. | true或false |
| (僅支援模拟器)通過修改 plist 檔案設定是否允許應用使用定位服務,進而避免定位服務的警告出現。預設值是保持目前模拟器的設定。請注意在使用這個關鍵字時,你同時需要使用 bundleId 關鍵字來發送你的應用的 bundle ID。 | true或false |
| 當警告彈出的時候,都會自動去點接受。包括隐私通路權限的警告(例如 定位,聯系人,照片)。預設值為 false。不支援基于 XCUITest 的測試。 | true或false |
| 當警告彈出的時候,都會自動去點取消。包括隐私通路權限的警告(例如 定位,聯系人,照片)。預設值為 false。不支援基于 XCUITest 的測試。 | true或false |
| 使用原生 intruments 庫(即關閉 instruments-without-delay)。 | true或false |
| (僅支援模拟器)在Safari中允許“真實的",非基于 javascript 的 web 點選 (tap) 。 預設值:false。注意:取決于 viewport 大小/比例, 點選操作不一定能精确地點中對應的元素。 | true或false |
| (僅支援模拟器) (>= 8.1) 初始化 safari 的時使用的位址。預設是一個本地的歡迎頁面 | 例如 https://www.github.com |
| (僅支援模拟器)允許 javascript 在 Safari 中建立新視窗。預設保持模拟器目前設定。 | true或false |
| (僅支援模拟器)阻止 Safari 顯示此網站可能存在風險的警告。預設保持浏覽器目前設定。 | true或false |
| (僅支援模拟器)Safari 是否允許連結在新視窗打開。預設保持浏覽器目前設定。 | true或false |
| (僅支援模拟器) | 當 Appium 會話開始/結束時是否保留存放密碼存放記錄 (keychains) 庫(Library)/鑰匙串(Keychains)) |
| 從哪裡查找本地化字元串。預設值為 en.lproj | en.lproj |
| 通過 instruments 傳遞到 AUT 的參數 | 例如 -myflag |
| 以毫秒為機關,按下每一個按鍵之間的延遲時間 | 例如 100 |
| 是否在 Appium 的日志中顯示裝置的日志。預設值為 false | true或false |
| 輸入文字到文字框的政策。模拟器預設值:oneByOne(一個接着一個)。真實裝置預設值:grouped (分組輸入) | oneByOne, grouped或setValue |
| 以秒為機關,生成螢幕截圖的最長等待時間。預設值為:10 | 例如 5 |
| 用于判斷 "應用是否被啟動” 的 iOS 自動化腳本代碼。預設情況下系統等待直到頁面内容非空。結果必須是布爾類型。 | 例如 |
| 用于擷取 webview 失敗時,發送連接配接資訊到遠端調試器的次數。預設次數為: 8 | 例如 12 |
| 被測應用的名字。 用于支援 iOS 9 以上系統的應用的自動化。 | 例如 UICatalog |
| (Sim/Emu-only) 給模拟器添加一個 SSL 證書。 |