Appium——詳解Appium server capabilities


 
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自動化測試腳本,默認情況下系統等待頁面源碼不為空,結果是布爾值
 
參數格式就是之前腳本那樣:

 

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

 
 
 


免責聲明!

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



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