鍵 | 描述 | 值 |
---|---|---|
automationName |
自動化測試的引擎 | Appium (默認)或者 Selendroid |
platformName |
使用的手機操做系統 | iOS , Android , 或者 FirefoxOS |
platformVersion |
手機操做系統的版本 | 例如 7.1 , 4.4 |
deviceName |
使用的手機或模擬器類型 | iPhone Simulator , iPad Simulator , iPhone Retina 4-inch , Android Emulator , Galaxy S4 , 等等.... 在 iOS 上,使用 Instruments 的 instruments -s devices 命令可返回一個有效的設備的列表。在 Andorid 上雖然這個參數目前已被忽略,但仍然須要添加上該參數 |
app |
本地絕對路徑_或_遠程 http URL 所指向的一個安裝包(.ipa ,.apk ,或 .zip 文件)。Appium 將其安裝到合適的設備上。請注意,若是您指定了 appPackage 和 appActivity 參數(見下文),Android 則不須要此參數了。該參數也與 browserName 不兼容。 |
/abs/path/to/my.apk 或 http://myapp.com/app.ipa |
browserName |
作自動化時使用的瀏覽器名字。若是是一個應用則只需填寫個空的字符串 | 'Safari' 對應 iOS,'Chrome', 'Chromium', 或 'Browser' 則對應 Android |
newCommandTimeout |
用於客戶端在退出或者結束 session 以前,Appium 等待客戶端發送一條新命令所花費的時間(秒爲單位) | 例如 60 |
language |
(Sim/Emu-only) 爲模擬器設置語言 | 例如 fr |
locale |
(Sim/Emu-only) 爲模擬器設置所在區域 | 例如 fr_CA |
udid |
鏈接真機的惟一設備號 | 例如 1ae203187fc012g |
orientation |
(Sim/Emu-only) 模擬器當前的方向 | 豎屏 或 橫屏 |
autoWebview |
直接轉換到 Webview 上下文(context)。默認值爲 false |
true , false |
noReset |
在當前 session 下不會重置應用的狀態。默認值爲 false |
true , false |
fullReset |
(iOS)刪除全部的模擬器文件夾。(Android) 要清除 app 裏的數據,請將應用卸載才能達到重置應用的效果。在 Android, 在 session 完成以後也會將應用卸載掉。默認值爲 false |
true , false |
鍵 | 描述 | 值 |
---|---|---|
appActivity |
Activity 的名字是指從你的包中所要啓動的 Android acticity。他一般須要再前面添加. (例如 使用 .MainActivity 代替 MainActivity ) |
MainActivity , .Settings |
appPackage |
運行的 Android 應用的包名 | com.example.android.myApp , com.android.settings |
appWaitActivity |
用於等待啓動的 Android Activity 名稱 | SplashActivity |
appWaitPackage |
用於等待啓動的 Android 應用的包 | com.example.android.myApp , com.android.settings |
appWaitDuration |
用於等待 appWaitActivity 啓動的超時時間(以毫秒爲單位)(默認值爲 20000 ) |
30000 |
deviceReadyTimeout |
用於等待模擬器或真機準備就緒的超時時間 | 5 |
androidCoverage |
用於執行測試的 instrumentation 類。 傳送 -w 參數到以下命令 adb shell am instrument -e coverage true -w |
com.my.Pkg/com.my.Pkg.instrumentation.MyInstrumentation |
enablePerformanceLogging |
(僅適用於 Chrome 與 webview)開啓 Chromedriver 的性能日誌。(默認值爲 false ) |
true , false |
androidDeviceReadyTimeout |
用於等待設備在啓動應用後準備就緒的超時時間。以秒爲單位。 | 例如 30 |
androidInstallTimeout |
用於等待在設備中安裝 apk 所花費的時間(以毫秒爲單位)。默認值爲 90000 |
例如 90000 |
adbPort |
用來鏈接 ADB 服務器的端口(默認值爲 5037 ) |
5037 |
androidDeviceSocket |
開發工具的 socket 名稱。只有在被測應用是一個使用 Chromium 內核的瀏覽器時才須要。socket 會被瀏覽器打開,而後 Chromedriver 把它做爲開發者工具來進行鏈接。 | 例如 chrome_devtools_remote |
avd |
被啓動 avd 的名字 | 例如 api19 |
avdLaunchTimeout |
用於等待 avd 啓動並鏈接 ADB 的超時時間(以毫秒爲單位),默認值爲 120000 。 |
300000 |
avdReadyTimeout |
用於等待 avd 完成啓動動畫的超時時間(以毫秒爲單位),默認值爲 120000 。 |
300000 |
avdArgs |
啓動 avd 時使用的額外參數 | 例如 -netfast |
useKeystore |
使用自定義的 keystore 給 apk 簽名,默認值爲 false |
true 或false |
keystorePath |
自定義 keystore 的路徑, 默認路徑爲 ~/.android/debug.keystore | 例如 /path/to.keystore |
keystorePassword |
自定義 keystore 的密碼 | 例如 foo |
keyAlias |
key 的別名 | 例如 androiddebugkey |
keyPassword |
key 的密碼 | 例如 foo |
chromedriverExecutable |
webdriver 可執行文件的絕對路徑(若是 Chromium 內嵌一個本身提供的 webdriver,則應使用他去替換掉 Appium 自帶的 chromedriver) | /abs/path/to/webdriver |
autoWebviewTimeout |
用於等待 Webview 上下文(context)激活的時間(以毫秒爲單位)。默認值爲 2000 |
例如 4 |
intentAction |
用於啓動 activity 的 intent action(默認值爲android.intent.action.MAIN ) |
例如 android.intent.action.MAIN , android.intent.action.VIEW |
intentCategory |
用於啓動 activity 的 intent category。(默認值爲android.intent.category.LAUNCHER ) |
例如 android.intent.category.LAUNCHER , android.intent.category.APP_CONTACTS |
intentFlags |
用於啓動 activity 的標識(flags)(默認值爲0x10200000 ) |
例如 0x10200000 |
optionalIntentArguments |
用於啓動 activity 的額外 intent 參數。請查看 Intent 參數 | 例如 --esn <EXTRA_KEY> , --ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> , 等等。 |
dontStopAppOnReset |
在使用 adb 啓動應用以前,不要終止被測應用的進程。若是被測應用是被其餘鉤子(anchor)應用所建立的,設置該參數爲 false 後,就容許鉤子(anchor)應用的進程在使用 adb 啓動被測應用期間仍然存在。換而言之,設置 dontStopAppOnReset 爲 true 後,咱們在 adb shell am start 的調用中不須要包含 -S 標識(flag)。忽略該 capability 或 設置爲 false 的話,就須要包含 -S 標識(flag)。默認值爲 false |
true 或false |
unicodeKeyboard |
使用 Unicode 輸入法。 默認值爲 false |
true 或false |
resetKeyboard |
在設定了 unicodeKeyboard 關鍵字的 Unicode 測試結束後,重置輸入法到原有狀態。若是單獨使用,將會被忽略。默認值爲 false |
true 或false |
noSign |
跳過檢查和對應用進行 debug 簽名的步驟。僅適用於 UiAutomator,不適用於 selendroid。 默認值爲 false |
true 或false |
ignoreUnimportantViews |
調用 uiautomator 的函數 setCompressedLayoutHierarchy() 。因爲 Accessibility 命令在忽略部分元素的狀況下執行速度會加快,這個關鍵字能加快測試執行的速度。被忽略的元素將不可以被找到,所以這個關鍵字同時也被實現成能夠隨時改變的 設置 ( settings )。 默認值爲 false |
true 或 false |
disableAndroidWatchers |
禁用 android 監視器(watchers)。監視器用於見識應用程序的無響應狀態(anr)和崩潰(crash),禁用會下降 Android 設備或模擬器的 CPU 使用率。該 capability 僅在使用 UiAutomator 時有效,不適用於 selendroid,默認設置爲 false 。 |
true 或 false |
chromeOptions |
容許對 ChromeDriver 傳 chromeOptions 的參數。瞭解更多信息請查閱 chromeOptions | chromeOptions: {args: ['--disable-popup-blocking']} |
recreateChromeDriverSessions |
當移除非 ChromeDriver webview時,終止掉 ChromeDriver 的 session。默認設置爲 false |
true 或false |
nativeWebScreenshot |
在 web 的上下文(context),使用原生(native)的方法去截圖,而不是用過代理的 ChromeDriver。默認值爲 false |
true 或false |
androidScreenshotPath |
在設備中截圖被保存的目錄名。默認值爲 /data/local/tmp |
例如 /sdcard/screenshots/ |
autoGrantPermissions |
讓Appium自動肯定您的應用須要哪些權限,並在安裝時將其授予應用。默認設置爲 false |
true 或false |
鍵 | 描述 | 值 |
---|---|---|
calendarFormat |
(僅支持模擬器) 爲iOS的模擬器設置日曆格式 | 例如 gregorian |
bundleId |
被測應用的 bundle ID 。用於在真實設備中啓動測試,也用於使用其餘須要 bundle ID 的關鍵字啓動測試。在使用 bundle ID 在真實設備上執行測試時,你能夠不提供 app 關鍵字,但你必須提供 udid 。 |
例如 io.appium.TestApp |
udid |
鏈接的真實設備的惟一設備編號 (Unique device identifier) | 例如 1ae203187fc012g |
launchTimeout |
以毫秒爲單位,在 Appium 運行失敗以前設置一個等待 instruments 的時間 | 例如 20000 |
locationServicesEnabled |
(僅支持模擬器)強制打開或關閉定位服務。默認值是保持當前模擬器的設定. | true 或false |
locationServicesAuthorized |
(僅支持模擬器)經過修改 plist 文件設定是否容許應用使用定位服務,從而避免定位服務的警告出現。默認值是保持當前模擬器的設定。請注意在使用這個關鍵字時,你同時須要使用 bundleId 關鍵字來發送你的應用的 bundle ID。 |
true 或false |
autoAcceptAlerts |
當警告彈出的時候,都會自動去點接受。包括隱私訪問權限的警告(例如 定位,聯繫人,照片)。默認值爲 false。不支持基於 XCUITest 的測試。 |
true 或false |
autoDismissAlerts |
當警告彈出的時候,都會自動去點取消。包括隱私訪問權限的警告(例如 定位,聯繫人,照片)。默認值爲 false。不支持基於 XCUITest 的測試。 |
true 或false |
nativeInstrumentsLib |
使用原生 intruments 庫(即關閉 instruments-without-delay)。 | true 或false |
nativeWebTap |
(僅支持模擬器)在Safari中容許「真實的",非基於 javascript 的 web 點擊 (tap) 。 默認值:false 。注意:取決於 viewport 大小/比例, 點擊操做不必定能精確地點中對應的元素。 |
true 或false |
safariInitialUrl |
(僅支持模擬器) (>= 8.1) 初始化 safari 的時使用的地址。默認是一個本地的歡迎頁面 | 例如 https://www.github.com |
safariAllowPopups |
(僅支持模擬器)容許 javascript 在 Safari 中建立新窗口。默認保持模擬器當前設置。 | true 或false |
safariIgnoreFraudWarning |
(僅支持模擬器)阻止 Safari 顯示此網站可能存在風險的警告。默認保持瀏覽器當前設置。 | true 或false |
safariOpenLinksInBackground |
(僅支持模擬器)Safari 是否容許連接在新窗口打開。默認保持瀏覽器當前設置。 | true 或false |
keepKeyChains |
(僅支持模擬器)當 Appium 會話開始/結束時是否保留存放密碼存放記錄 (keychains) 庫(Library)/鑰匙串(Keychains)) | true 或false |
localizableStringsDir |
從哪裏查找本地化字符串。默認值爲 en.lproj |
en.lproj |
processArguments |
經過 instruments 傳遞到 AUT 的參數 | 例如 -myflag |
interKeyDelay |
以毫秒爲單位,按下每個按鍵之間的延遲時間 | 例如 100 |
showIOSLog |
是否在 Appium 的日誌中顯示設備的日誌。默認值爲 false |
true 或false |
sendKeyStrategy |
輸入文字到文字框的策略。模擬器默認值:oneByOne (一個接着一個)。真實設備默認值:grouped (分組輸入) |
oneByOne , grouped 或setValue |
screenshotWaitTimeout |
以秒爲單位,生成屏幕截圖的最長等待時間。默認值爲:10 | 例如 5 |
waitForAppScript |
用於判斷 "應用是否被啓動」 的 iOS 自動化腳本代碼。默認狀況下系統等待直到頁面內容非空。結果必須是布爾類型。 | 例如 true; , target.elements().length > 0; , $.delay(5000); true; |
webviewConnectRetries |
用於獲取 webview 失敗時,發送鏈接信息到遠程調試器的次數。默認次數爲: 8 |
例如 12 |
appName |
被測應用的名字。 用於支持 iOS 9 以上系統的應用的自動化。 | 例如 UICatalog |
customSSLCert |
(Sim/Emu-only) 給模擬器添加一個 SSL 證書。 | 例如 -----BEGIN CERTIFICATE-----MIIFWjCCBEKg... -----END CERTIFICATE----- |
鍵 | 描述 | 值 |
---|---|---|
processArguments |
將會傳送到 WebDriverAgent 的進程參數與環境 | { args: ["a", "b", "c"] , env: { "a": "b", "c": "d" } } 或 '{"args": ["a", "b", "c"], "env": { "a": "b", "c": "d" }}' |
wdaLocalPort |
若是這個值被指定了,Mac 主機就會使用這個端口,經過 USB 發送數據到 iOS 設備中。默認的端口與 iOS 設備中 WDA 的端口號是一致的。 | 例如 8100 |
showXcodeLog |
是否顯示運行測試時 Xcode 的輸出日誌,若是值設置爲 true ,則會在啓動的時候產生大量的額外日誌。默認設置爲 false 。 |
例如 true |
iosInstallPause |
安裝應用程序與啓動 WebDriverAgent 之間中止的間隔時間(以毫秒爲單位),特別適用於體積較大的包。默認是設置爲 0 。 |
例如 8000 |
xcodeConfigFile |
一個可選的 Xcode 可配置文件的完整路徑,用於指定在真機上運行 WebDriverAgent 的我的身份或者團隊身份的代碼簽名。 | 例如 /path/to/myconfig.xcconfig |
keychainPath |
從系統的 keychain 中導出私有開發祕鑰的完整路徑。在真機測試時與 keychainPassword 配合使用。 |
例如 /path/to/MyPrivateKey.p12 |
keychainPassword |
在 keychainPath 中指定 keychain 的解鎖密碼。 |
例如 super awesome password |
scaleFactor |
模擬器縮放因子。這對於默認分辨率是大於實際分辨的模擬器來講很是有用。所以,你不用上下滑動模擬器的屏幕就能看到全部模擬器顯示的內容了。 | 可接受的值爲: '1.0', '0.75', '0.5', '0.33' 和 '0.25' 。 這些值都應該是一個字符串 |
preventWDAAttachments |
設置 WebDriverAgent 項目中的 DerivedData 文件夾的權限爲僅可讀 。爲了防止 XCTest 框架產生大量無用的截屏與日誌,該設置是很是必要的,由於這是不可能經過 Apple 提供的接口去關閉的。 |
設置 capabilitity 爲 true 將會設置 Posix 的文件夾的權限爲 555 ,設置爲 false 則會將權限重置回 755 |
webDriverAgentUrl |
若提供了 URL,Appium 將在這 URL 上鍊接現有的 WebDriverAgent 實例,而不是從新啓動一個。 | 例如 http://localhost:8100 |
useNewWDA |
若設置爲 true ,則直接卸載設備上現存的全部 WebDriverAgent 客戶端。在某些狀況,該作法能夠提升穩定性。默認設置爲 false 。 |
例如 true |
wdaLaunchTimeout |
等待 WebDriverAgent 可 ping 同的時間(以毫秒爲單位)。默認設置爲 60000ms。 | 例如 30000 |
calendarAccessAuthorized |
若設置爲 true ,則容許在 iOS 模擬器上訪問日曆。若設置爲 false ,則不被容許。不然,日曆的 authorizationStatus 會保持不變。 |
- |
鍵 | 描述 | 值 |
---|---|---|
youiEngineAppAddress |
正在運行的應用的設備的 IP 地址。使用 localhost 做爲模擬地址。使用 localhost 做爲模擬器地址。使用設備的 IP 地址做爲真機的 IP。 |
例如 localhost 或 192.168.1.203 |
鍵 | 描述 | 值 |
---|---|---|
platformName |
運行測試時所在的平臺 | 例如 Windows |
deviceName |
運行測試時所使用設備的名字 | 例如 WindowsPC |
app |
被測 windows 應用的 appID 或被測的 .exe 文件的路徑。 查閱該文檔可瞭解更多查找 appID 的詳細方法。 | 例如c24c8163-548e-4b84-a466-530178fc0580_scyf5npe3hv32!App |