appium Capabilities的各個標簽


今天詳解一下Capabilities的各個標簽,以后如果用得着可以隨時翻閱。

 

General Capabilities

標簽 概述
automationName 使用引擎 默認為Appium,其中Appium、UiAutomator2、Selendroid、Espresso用於Android,XCUITest用於iOS
platformName 操作系統 如iOS、Android、FirefoxOS
platformVersion 操作系統版本 如7.1,4.4
deviceName 設備名 如iPhone Simulator, iPad Simulator, iPhone Retina 4-inch, Android Emulator, Galaxy S4,iOS需要,Android可以忽略
app apk、.ipa等的加載路徑 如D:\\text.apk、/home/zhuyt/test.ipa
browserName 瀏覽器名,若為app則省略 如'Safari'、'Chromium'
newCommandTimeout appium server與client的超時時間 如60s
language 語言,默認只有用Siumulator才有效 如fr
locale 國家地區,默認只有用Siumulator才有效 如fr_CA, CA
udid 連接的物理設備的唯一設備標識符 如1ae203187fc012g
orientation (僅限Sim / Emu)以某個方向開始 LANDSCAPE or PORTRAIT
autoWebview 直接進入Webview上下文,默認False True,False
noReset 在會話前,不重啟app,重啟的話只刪除數據 True,False
fullReset 完全重啟app,刪除app,數據后重啟 True,False
eventTimings 啟用或禁用各種Appium內部事件的時間報告,默認False True,False
enablePerformanceLogging (僅限Web和webview)使在Chrome(在Android上)或Safari(在iOS上)可以有log(默認為false) True,False
printPageSourceOnFindFailure  當某個操作失敗時,打印當前頁面代碼,默認False True,False

 

Android Only

標簽 概述
appActivity package中想要運行的Activity name,名字前通常需要加.,默認從package manifest讀取  如.MainActivity,MainActivity
appPackage Android app中想要運行的Java的package包,默認從package manifest讀取 如com.example.android.myApp
appWaitActivity 設置要等待的activity,默認與appActivity一樣,若有appActivity、appPackage,則必須設置為第一個啟動的activity名稱 如MainActivity,MainActivity
appWaitPackage 要等待的App內的Java Package,默認與appPackage相等. 如com.example.android.myApp, com.android.settings
appWaitDuration 用於等待appWaitActivity啟動的超時(以毫秒為單位)(默認為20000) 如30000
deviceReadyTimeout 等待設備准備就緒時的超時時間(默認為s) 如5
allowTestPackages 如果在manifest中有android:testOnly="true",則允許安裝test Package,默認為False True,False
androidCoverage 用於執行測試的 instrumentation 類, adb shell am instrument -e coverage true -w 后接instumentation類,如com.my.Pkg.instrumentation.MyInstrumentation
androidCoverageEndIntent 設置實施的廣播操作,覆蓋范圍為文件系統。即調用adb shell am broadcast -a  后接參數如com.example.pkg.END_EMMA
androidDeviceReadyTimeout 設備引導結束后,准備就緒的超時時間    如30
androidInstallTimeout 安裝apk用的超時時間,默認90000毫秒 如90000
androidInstallPath apk安裝前會先被push到的地址,默認是/data/local/tmp 如/sdcard/Downloads/
adbPort adb server的port,默認是5037 如5037
systemPort SystemPort用來連接appium-uiautomator2-server 或 appium-espresso-driver。對於前者,端口通常是8200-8299,后者為8300-8399,當兩者都要用時,要注意產生沖突 如8201
remoteAdbHost 遠程的ADB host 如192.168.0.101
androidDeviceSocket Devtools套接字名稱。 僅在測試的應用程序是Chromium瀏覽器時才需要。 套接字由瀏覽器打開,Chromedriver作為devtools客戶端連接瀏覽器。 如chrome_devtools_remote
avd   要啟動的avd名 如api19
avdLaunchTimeout avd啟動並連接到adb的超時時間,默認為60000毫秒 如30000
avdReadyTimeout avd完成啟動的動畫需要的超時時間,默認為120000毫秒  如30000
avdArgs 模擬器啟動時額外的參數 如-netfast
useKeystore 使用自定義密鑰庫對apk簽名,默認為false True,Fasle
keystorePath 自定義密鑰庫的地址,默認為~/.android/debug.keystore 如/path/to.keystore
keystorePassword 密鑰庫的密碼 如foo
keyAlias 密鑰的別名 如androiddebugkey
keyPassword 密鑰的密碼 如foo
chromedriverExecutable webdriver的絕對路徑,如果chrome提供給了自己的wedriver,則應使用這,不用與appium綁定的chromedriver 如/abs/path/to/webdriver
chromedriverExecutableDir chromedriver的路徑,會自動在該路徑尋找chromedriver,如果chromedriverUseSystemExecutable 是true,則忽略 如/abs/path/to/chromedriver/directory
chromedriverChromeMappingFile 文件的絕對路徑,將Chromedriver版本映射到它支持的最小Chrome。 如果chromedriverUseSystemExecutable為true,則忽略 如/abs/path/to/mapping.json
chromedriverUseSystemExecutable 如果為true,則繞過自動Chromedriver配置並使用隨Appium下載的版本。 如果設置了chromedriverExecutable,則忽略。 默認為false True,False
autoWebviewTimeout 等待webView激活的超時時間,默認是2000毫秒 如2000
intentAction 用於啟動 activity 的 intent action,默認值為android.intent.action.MAIN 如android.intent.action.MAIN
intentCategory


指定當前動作(Action)被執行的環境

如android.intent.category.LAUNCHER, android.intent.category.APP_CONTACTS
intentFlags 用於啟動的activity的標志,默認0x10200000 如0x10200000
optionalIntentArguments 用於啟動activity的intent action的參數 如--esn <EXTRA_KEY>, --ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE>
dontStopAppOnReset 用於是否關閉activity所屬的app后再啟動activity,等同於adb shell am start 是否使用-S參數 True,False
unicodeKeyboard 使可以輸入Unicode,默認為False True,False
resetKeyboard 在用Unicode測試完成后,將鍵盤reset,不可單獨使用,默認為False True,False
noSign 使用調試鍵跳過檢查和簽名應用程序,僅適用於UiAutomator,而不適用於selendroid,默認為false True,False
ignoreUnimportantViews 是否調用uiautomator的函數setCompressedLayoutHierarchy(),此功能能加快測試速度,Accessibility命令將更快地運行而忽略某些元素 True,False
disableAndroidWatchers 是否禁用app的監聽功能,這會減少cpu使用率。此功能僅適用於UiAutomator,而不適用於selendroid,默認為false True,False
chromeOptions 提供chromeDriver的capability參數 chromeOptions: {args: ['--disable-popup-blocking']}
recreateChromeDriverSessions 移動至非web程序時,是否殺掉chromeDriver True,False
nativeWebScreenshot 在web程序中,用原生adb截圖,而不是chromeDriver True,False
androidScreenshotPath 文件截圖默認存放地址 如/sdcard/screenshots/
autoGrantPermissions 讓appium自動授權app權限,如果noReset為True,則該條不生效 True,False
networkSpeed 指定網絡最快上傳與下載速度 如['full','gsm', 'edge', 'hscsd', 'gprs', 'umts', 'hsdpa', 'lte', 'evdo']
gpsEnabled 是否啟動gps True,False
isHeadless 將此功能設置為true可在無需顯示設備時運行仿真器。 false是默認值isHeadless也支持iOS,檢查特定於XCUITest的功能 True,False
otherApps 運行測試前需要安裝的app列表 如"/path/to/app.apk", https://www.example.com/url/to/app.apk, ["/path/to/app-a.apk", "/path/to/app-b.apk"]
adbExecTimeout adb指令超時時間,默認是20000毫秒 如50000
localeScript 建立一個script 例如"Cyrl" (Cyrillic)

 

UIAutomator2 Only

標簽 概述
uiautomator2ServerLaunchTimeout 等待uiAutomator2的server啟動超時時間,單位毫秒 如3000
uiautomator2ServerInstallTimeout 等待uiAutomator2的server被安裝超時時間,單位毫秒 如3000

 

 

 

 

 

Espresso Only

標簽 概述
espressoServerLaunchTimeout 等待espresso的server的啟動超時時間,單位毫秒 如3000

 

 

 

 

iOS Only

標簽 概述
calendarFormat (僅限Sim)要為iOS模擬器設置的日歷格式 如gregorian
bundleId 被測試應用程序的bundle Id。用於在真實設備中啟動測試,。在使用 bundle ID 在真實設備上執行測試時,你可以省略'app'關鍵字,但你必須提供 `udid` , 如io.appium.TestApp
udid 設備唯一物理地址號 如1ae203187fc012g
launchTimeout 啟動超時時間,單位毫秒 如3000 
locationServicesEnabled (僅限Sim)強制關閉定位與否。 True,False
locationServicesAuthorized (僅限Sim)通過修改 plist 文件設定是否允許應用使用定位服務,從而避免定位服務的警告出現。請注意在使用這個關鍵字時,必須需要使用 `bundleId` 關鍵字來發送應用的 bundle ID。 True,False
autoAcceptAlerts 接收任何警告處理,包括隱私訪問許可警報。默認為False。不適用於基於XCUITest的測試。 True,False
autoDismissAlerts 不接受任何警告處理,包括隱私訪問許可警報。默認為False。不適用於基於XCUITest的測試。 True,False
nativeInstrumentsLib 使用原生 intruments 庫 (即關閉 instruments-without-delay )  True,False
nativeWebTap (僅限Sim)在Safari中啟用“真實的”非基於JavaScript的網絡點擊。 默認值:false。 警告:根據視口大小/比例,這可能無法准確地點擊元素 True,False
safariInitialUrl (僅限Sim)(>= 8.1) 初始的safari的URL,默認是當前的歡迎頁 如https://www.github.com
safariAllowPopups (僅限Sim)允許用JS在Safari中打開新窗口。 True,False
safariIgnoreFraudWarning (僅限Sim)防止Safari顯示欺詐性網站警告。 True,False
safariOpenLinksInBackground (僅限Sim)Safari是否應允許在新窗口中打開鏈接。  True,False
keepKeyChains (僅限Sim)是否在啟動/完成appium會話時保留KeyChains,即保存密碼等。 True,False
localizableStringsDir (僅限Sim)是否尋找本地化的字符串。默認en.lproj True,False
processArguments 通過 instruments 傳遞到 AUT 的參數 如-myflag
interKeyDelay 輸入值時發送到元素的延遲時間 如100
showIOSLog 是否在appium日志中顯示從設備捕獲的任何日志。 默認為false True,False
sendKeyStrategy 輸入文本到文本框的策略。模擬器默認:一個一個輸。真實設備:分組輸 oneByOne, grouped or setValue 
screenshotWaitTimeout 等待生成屏幕截圖的最大超時秒數。 默認值:10,單位為秒 如10
waitForAppScript 用於判斷 "應用是否被啟動” 的 iOS 自動化腳本代碼。默認情況下系統等待直到頁面內容非空。結果必須是布爾類型。 如true;, target.elements().length > 0;, $.delay(5000); 
webviewConnectRetries 將連接消息發送到遠程調試器以獲取webview的次數。 默認值:8 如8
appName 被測試的app的顯示名字。IOS系統版本需要為9.0+ 如UICatalog
customSSLCert (僅限Sim)將SSL證書添加到iOS的模擬器中

-----BEGIN CERTIFICATE-----MIIFWjCCBEKg...
-----END CERTIFICATE-----

webkitResponseTimeout (只限制真實設備)等待safari中頁面的響應時間,默認為毫秒 如3000
remoteDebugProxy  (僅限Sim, <= 11.2)如果設置,Appium通過本地端口(僅限Sim,<= 11.2)上的代理或此unix套接字上的代理(僅Sim> = 11.3)發送和接收遠程調試消息,而不是直接與iOS遠程調試器通信。 例如 12000 如12000 or "/tmp/my.proxy.socket"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM