Appium最新的服務器初始化參數(Capability)【截止11月29日,後續最新的能夠看github】

 

描述
automationName 自動化測試的引擎 Appium (默認)或者 Selendroid
platformName 使用的手機操做系統 iOS, Android, 或者 FirefoxOS
platformVersion 手機操做系統的版本 例如 7.1, 4.4
deviceName 使用的手機或模擬器類型

iPhone Simulator, iPad Simulator,javascript

iPhone Retina 4-inch,html

Android Emulator,Galaxy S4,java

等等.... 在 iOS 上,使用android

Instruments的 instruments -s ios

devices命令可返回一個有效的設git

備的列表。在Andorid 上雖然這個github

參數目前已被忽略,web

但仍然須要添加上該參數chrome

app

本地絕對路徑_或_遠程shell

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

 

Android 獨有

 

描述
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

truefalse
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 啓動被測應用期間仍然存在。換而言之,

設置 dontStopAppOnResettrue 後,咱們在 adb shell

am start 的調用中不須要包含 -S標識(flag)。忽略該

capability 或 設置爲 false 的話,就須要包含 -S 標識

(flag)。默認值爲 false

 

truefalse
unicodeKeyboard 使用 Unicode 輸入法。 默認值爲 false truefalse
resetKeyboard

在設定了 unicodeKeyboard 關鍵字的 Unicode 測試結束後,

重置輸入法到原有狀態。若是單獨使用,將會被忽略。

默認值爲 false

truefalse
noSign

跳過檢查和對應用進行 debug 簽名的步驟。僅適用於

UiAutomator,不適用於 selendroid。 默認值爲 false

truefalse
ignoreUnimportantViews

調用 uiautomator 的函數

setCompressedLayoutHierarchy()

因爲 Accessibility 命令在忽略部分元素的狀況下執

行速度會加快,這個關鍵字能加快測試執行的速度。

被忽略的元素將不可以被找到,所以這個關鍵字同

時也被實現成能夠隨時改變的 設置 ( settings )

默認值爲 false

truefalse
disableAndroidWatchers

禁用 android 監視器(watchers)。監視器用於

見識應用程序的無響應狀態(anr)和崩潰(crash),

禁用會下降 Android 設備或模擬器的CPU 使用率。

該 capability 僅在使用 UiAutomator 時有效,

不適用於selendroid,默認設置爲 false

truefalse
chromeOptions

容許對 ChromeDriver 傳 chromeOptions 的參數。

瞭解更多信息請查閱 chromeOptions

chromeOptions:

{args:

['--disable-popup-blocking']}

recreateChromeDriverSessions

當移除非 ChromeDriver webview時,

終止掉 ChromeDriver的 session。

默認設置爲 false

truefalse
nativeWebScreenshot

在 web 的上下文(context),使用原生

(native)的方法去截圖,而不是用過代理

的 ChromeDriver。默認值爲 false

truefalse
androidScreenshotPath

在設備中截圖被保存的目錄名。

默認值爲 /data/local/tmp

例如 /sdcard/screenshots/
autoGrantPermissions

讓Appium自動肯定您的應用須要哪些權限,

並在安裝時將其授予應用。默認設置爲 false

truefalse

 

iOS 獨有

 

描述
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

(僅支持模擬器)強制打開或關閉定位服務。

默認值是保持當前模擬器的設定.

truefalse
locationServicesAuthorized

(僅支持模擬器)經過修改 plist 文件設定是否容許應用

使用定位服務,從而避免定位服務的警告出現。默認值是

保持當前模擬器的設定。請注意在使用這個關鍵字時,你

同時須要使用 bundleId 關鍵字來發送你的應用的

bundle ID。

truefalse
autoAcceptAlerts

當警告彈出的時候,都會自動去點接受。

包括隱私訪問權限的警告(例如 定位,聯繫人,照片)。

默認值爲 false。不支持基於 XCUITest 的測試。

truefalse
autoDismissAlerts

當警告彈出的時候,都會自動去點取消。

包括隱私訪問權限的警告(例如 定位,聯繫人,照片)。

默認值爲 false。不支持基於 XCUITest 的測試。

truefalse
nativeInstrumentsLib

使用原生 intruments 庫

(即關閉 instruments-without-delay)。

truefalse
nativeWebTap

(僅支持模擬器)在Safari中容許「真實的",

非基於 javascript 的 web 點擊 (tap) 。

默認值:false。注意:取決於 viewport

大小/比例, 點擊操做不必定能精確地點中

對應的元素。

truefalse
safariInitialUrl

(僅支持模擬器) (>= 8.1) 初始化 safari 的

時使用的地址。默認是一個本地的歡迎頁面

例如 https://www.github.com
safariAllowPopups

(僅支持模擬器)容許 javascript 在 Safari

中建立新窗口。默認保持模擬器當前設置。

truefalse
safariIgnoreFraudWarning

(僅支持模擬器)阻止 Safari 顯示此網站可能

存在風險的警告。默認保持瀏覽器當前設置。

truefalse
safariOpenLinksInBackground

(僅支持模擬器)Safari 是否容許連接在新

窗口打開。默認保持瀏覽器當前設置。

truefalse
keepKeyChains

(僅支持模擬器)當 Appium 會話開始/結束時是否保

留存放密碼存放記錄 (keychains) 庫(Library)/鑰匙

串(Keychains))

truefalse
localizableStringsDir 從哪裏查找本地化字符串。默認值爲 en.lproj en.lproj
processArguments 經過 instruments 傳遞到 AUT 的參數 例如 -myflag
interKeyDelay 以毫秒爲單位,按下每個按鍵之間的延遲時間 例如 100
showIOSLog

是否在 Appium 的日誌中顯示設備的日誌。

默認值爲 false

truefalse
sendKeyStrategy

輸入文字到文字框的策略。模擬器默認值:

oneByOne

(一個接着一個)。真實設備默認值:

grouped (分組輸入)

oneByOne, groupedsetValue
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-----

 

使用 XCUITest(iOS 獨有)

 

描述
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 會保持不變。

-

 

You.i 引擎獨有

 

描述
youiEngineAppAddress

正在運行的應用的設備的 IP 地址。使用 localhost

做爲模擬地址。使用 localhost 做爲模擬器地址。

使用設備的 IP 地址做爲真機的 IP。

例如 localhost 或 192.168.1.203

 

WinAppDriver 獨有

 

描述
platformName 運行測試時所在的平臺

例如

Windows

deviceName 運行測試時所使用設備的名字

例如

WindowsPC

app

被測 windows 應用的 appID 或被測的 .exe

文件的路徑。 查閱該文檔可瞭解更多查找 appID 的

詳細方法。

例如

c24c8163-548e-4b84-a466-530178fc0580_scyf5

npe3hv32!App

相關文章
相關標籤/搜索