appium server capabilities來告訴appium,如何運行自動化測試,因此需要詳細了解。
automationName:
使用哪個自動化引擎,默認是Appium
platformName:
使用哪個移動操作系統,iOS Android 或者 FirefoxOS
platform Version:
移動操作系統的版本
device Name:
使用的移動設備或者模擬器類型,例如Android Emulator,在ios系統下通過 instruments -s devices命令 返回正確的設備,android的話使用adb devices可以獲取設備的id
app:
絕對本地路徑或者指向ipa或apk文件,對於android來說如果指定了appPackage和appActivity屬性,那么該屬性就不是必須的。
browserName:
用於自動化測試ide移動Web瀏覽器,例如ios為Safari,android為Chrome Chromium 或Browser
newCommandTimeout:
Appium等待接收從客戶端發送的新命令的超時時長,超時后Appium認為客戶端已經退出,終止會話。
autoLaunch:
是否讓Appium自動安裝和啟動應用,默認為True
language:
設置語言
locale:
設置位置
udid:
所鏈接物理設備的唯一設備標識符
orientation:
指定一個特定的方向
autoWebview:
直接進入Webview內容中,默認為false
noReset:
在會話前不重置應用狀態,默認為false
fullReset:
在ios中刪除整個模擬器文件夾,在android中ton故宮卸載APP來重置app狀態,而不是清楚數據。
Appium server capabilities (只針對android)
appActivity:
測試人員希望從保重啟動的android activity的名稱,通常都會加個前綴“ . ”
appPackage:
希望運行的android應用的java包,例如com.example.android.myApp
appWaitActivity:
希望等待的Android Activity的名稱
appWaitPackage:
希望等待的Java包的名稱
deviceReadyTimeout:
等待設備就緒的超時時長,以秒為單位
androidCoverage:
完全合格的instrumentation類
enablePerformanceLogging:
讓Chromedriver的性能日志功能生效,只針對Chrome和Webview,默認為false
androidDeviceSocket:
Devtool socket名,只有當待測應用是Chromium embedding browser時才需要,瀏覽器打開端口,Chromedriver以devtools客戶端的方式連接該端口
avd:
啟動的avd名(android virtual device)
avdLaunchTimeout:
等待avd啟動和鏈接到adb的超時時長,單位為毫秒,默認120000
avdReadyTimeout:
等待avd完成其開機動畫的超時時長,單位為毫秒,默認120000
avdArgs:
當啟動avd時,用到的其它模擬器參數
useKeystore:
使用一個自定義密鑰庫來簽名apk,默認為false
keystorePath:
自定義密鑰庫的路徑,默認為~/.android/debug.keystore
keyAlias:
key的別名
keyPassword:
Key的密碼
chromdriverExecutable:
指向webdriver executable的絕對本地路徑
autoWebviewTimeout:
等待webview內容激活的超時時長 ,毫秒單位,默認2000
intentAction:
用來啟動activity的Intent action(默認為android.intent.action.MAIN)
unicodeKeyboard:
啟用Unicode輸入,默認為false
ignoreUnimportantViews:
調用函數uiautomator()和setCompressedLayoutHierarchy(),該屬性可以加速測試執行,原因在於Accessibility命令忽略某些元素時運行更快,忽略的元素無法找到,默認false
Appium server capabilities (只針對iOS)
calendarFormat:
設置ios模擬器的日歷格式
bundleID:待測應用的bundleID
udid:
所連接的物理設備的唯一的設備標識符
launchTimeout:
在假定instruments已經掛掉了並終止會話前的超時時長,單位為毫秒
locationServicesEnabled:
(只針對模擬器)強制打開或者關閉位置服務,默認保持當前設置
locationServicesAuthorized:
(只針對模擬器)通過plist授權設置位置服務或者不授權設置位置服務,這樣位置服務警告框就不會彈出,默認保持當前設置,注意如果使用了該設置,則必須同時使用bundleid屬性
autoAcceptAlerts:
遇到彈出的ios隱私訪問權限警告時自動接受,默認為false
autoDismissAlerts:
彈出ios隱私訪問權限警告,自動解除,默認false
nativeWebTap:
在Safari中,啟用真實的 非基於javascript的web單擊,默認false
safariInitialUrl:
初始化safari url,默認是本地歡迎頁面
safariAllowPopups:
在safari中允許javascript打開新窗口
safariIgnoreFraudWarning:
阻止safari顯示一個欺詐性網站的警告
safariOpenLinksInBackground:
safari是否允許在新窗口中打開鏈接
keepKeyChains:
在appium會話啟動和終止時,是否保存keychains
interKeyDelay:
打字時發送到某個元素的按鍵敲擊之間的時長,以毫秒為單位
showiOSLog:
是否在Appium日志中顯示任何從設備捕獲的日志
screenshotWaitTimeout:
等待截屏產生的最大超時時長,單位為秒,默認10
waitForAppScript:
用來判斷應用是否已經啟動,ios自動化測試腳本,默認情況下系統等待頁面源碼不為空,結果是布爾值
參數格式就是之前腳本那樣:

很多可能平時用不到,留以備忘。