文章出處

Appium 服務關鍵字

關鍵字 描述 實例
automationName 你想使用的自動化測試引擎 Appium (默認) 或 Selendroid
platformName 你要測試的手機操作系統 iOSAndroid, 或 FirefoxOS
platformVersion 手機操作系統版本 例如: 7.14.4
deviceName 使用的手機類型或模擬器類型 iPhone SimulatoriPad SimulatoriPhone Retina 4-inchAndroid EmulatorGalaxy S4, 等。在 iOS 上,這個關鍵字的值必須是使用 instruments -s devices 得到的可使用的設備名稱之一。在 Android 上,這個關鍵字目前不起作用。
app .ipa or .apk文件所在的本地絕對路徑或者遠程路徑,也可以是一個包括兩者之一的.zip。 Appium會先嘗試安裝路徑對應的應用在適當的真機或模擬器上。針對Android系統,如果你指定app-packageapp-activity(具體見下面)的話,那么就可以不指定app。 會與 browserName 沖突 比如/abs/path/to/my.apkhttp://myapp.com/app.ipa
browserName 需要進行自動化測試的手機 web 瀏覽器名稱。如果是對應用進行自動化測試,這個關鍵字的值應為空。 iOS 系統上可以用 'Safari' ,Android 系統上可以用 'Chrome', 'Chromium', 或 'Browser'。
newCommandTimeout 設置命令超時時間,單位:秒。達到超時時間仍未接收到新的命令時 Appium 會假設客戶端退出然后自動結束會話。 比如 60
autoLaunch Appium是否需要自動安裝和啟動應用。默認值true truefalse
language (Sim/Emu-only) 設定模擬器 ( simulator / emulator ) 的語言。 如: fr
locale (Sim/Emu-only) 設定模擬器 ( simulator / emulator ) 的區域設置。 如: fr_CA
udid 連接的物理設備的唯一設備標識 如: 1ae203187fc012g
orientation (Sim/Emu-only) 在一個設定的方向模式中開始測試 LANDSCAPE (橫向) 或 PORTRAIT (縱向)
autoWebview 直接轉換到 WebView 上下文。 默認值 false truefalse
noReset 不要在會話前重置應用狀態。默認值false truefalse
fullReset (iOS) 刪除整個模擬器目錄。(Android) 通過卸載——而不是清空數據——來重置應用狀態。在 Android 上,這也會在會話結束后自動清除被測應用。默認值 false truefalse

 

Android特有

關鍵字 描述 實例
appActivity 你要從你的應用包中啟動的 Android Activity 名稱。它通常需要在前面添加 . (如:使用.MainActivity 而不是 MainActivity) MainActivity.Settings
appPackage 你想運行的Android應用的包名 比如com.example.android.myAppcom.android.settings
appWaitActivity 你想要等待啟動的 Android Activity 名稱 SplashActivity
deviceReadyTimeout 設置等待一個模擬器或真機準備就緒的超時時間 5
androidCoverage 用于執行測試的 instrumentation 類。作為命令 adb shell am instrument -e coverage true -w 的-w 參數。 com.my.Pkg/com.my.Pkg.instrumentation.MyInstrumentation
enablePerformanceLogging (僅適用于 Chrome 和 webview) 開啟 Chromedriver 的性能日志。 (默認 false) truefalse
androidDeviceReadyTimeout 等待設備在啟動應用后準備就緒的超時時間。以秒為單位。 如 30
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 or false
keystorePath 自定義 keystore 的路徑。默認: ~/.android/debug.keystore 如 /path/to.keystore
keystorePassword 自定義 keystore 的密碼。 如 foo
keyAlias key 的別名 如 androiddebugkey
keyPassword key 的密碼 如 foo
chromedriverExecutable webdriver 可執行文件的絕對路徑 (如果 Chromium 核心提供了對應的 webdriver, 應該用它代替 Appium 自帶的 webdriver) /abs/path/to/webdriver
autoWebviewTimeout 以毫秒為單位,等待 Webview 上下文激活的時間。默認值 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>
stopAppOnReset 在使用 adb 啟動應用前停止被測應用的進程 ( process ) 。如果被測應用是被另一個應用創建的,當這個參數被設定為 false 時,允許另一個應用的進程在使用 adb 啟動被測應用時繼續存活。默認值 true 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

 

iOS特有

關鍵字 描述 實例
calendarFormat (Sim-only) 為iOS的模擬器設置日歷格式 如 gregorian (公歷)
bundleId 被測應用的 bundle ID 。用于在真實設備中啟動測試,也用于使用其他需要 bundle ID 的關鍵字啟動測試。在使用 bundle ID 在真實設備上執行測試時,你可以不提供 app 關鍵字,但你必須提供 udid 。 如 io.appium.TestApp
udid 連接的真實設備的唯一設備編號 ( Unique device identifier ) 如 1ae203187fc012g
launchTimeout 以毫秒為單位,在 Appium 運行失敗之前設置一個等待 instruments 的時間 比如: 20000
locationServicesEnabled (Sim-only) 強制打開或關閉定位服務。默認值是保持當前模擬器的設定 true 或 false
locationServicesAuthorized (Sim-only) 通過修改 plist 文件設定是否允許應用使用定位服務,從而避免定位服務的警告出現。默認值是保持當前模擬器的設定。請注意在使用這個關鍵字時,你同時需要使用 bundleId 關鍵字來發送你的應用的 bundle ID。 true 或者 false
autoAcceptAlerts 當 iOS 的個人信息訪問警告 (如 位置、聯系人、圖片) 出現時,自動選擇接受( Accept )。默認值 false true 或者 false
autoDismissAlerts 當 iOS 的個人信息訪問警告 (如 位置、聯系人、圖片) 出現時,自動選擇不接受( Dismiss )。默認值false true 或者 false
nativeInstrumentsLib 使用原生 intruments 庫 (即關閉 instruments-without-delay ) true 或者 false
nativeWebTap (Sim-only) 在Safari中允許"真實的",非基于 javascript 的 web 點擊 (tap) 。 默認值: false。注意:取決于 viewport 大小/比例, 點擊操作不一定能精確地點中對應的元素。 true 或者 false
safariInitialUrl (Sim-only) (>= 8.1) 初始化 safari 的時使用的地址。默認是一個本地的歡迎頁面 https://www.github.com
safariAllowPopups (Sim-only) 允許 javascript 在 Safari 中創建新窗口。默認保持模擬器當前設置。 true 或者 false
safariIgnoreFraudWarning (Sim-only) 阻止 Safari 顯示此網站可能存在風險的警告。默認保持瀏覽器當前設置。 true 或者 false
safariOpenLinksInBackground (Sim-only) Safari 是否允許鏈接在新窗口打開。默認保持瀏覽器當前設置。 true 或者 false
keepKeyChains (Sim-only) 當 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 (分組輸入) oneByOnegrouped 或setValue
screenshotWaitTimeout 以秒為單位,生成屏幕截圖的最長等待時間。默認值: 10。 如 5
waitForAppScript 用于判斷 "應用是否被啟動” 的 iOS 自動化腳本代碼。默認情況下系統等待直到頁面內容非空。結果必須是布爾類型。 例如 true;,target.elements().length > 0;$.delay(5000); true;

 

轉自:https://github.com/appium/appium/blob/master/docs/cn/writing-running-appium/caps.cn.md


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 AutoPoster 的頭像
    AutoPoster

    互聯網 - 大數據

    AutoPoster 發表在 痞客邦 留言(0) 人氣()