Appium webdriver的capabilities配置

来源:互联网 发布:淘宝卖家电话隐藏 编辑:程序博客网 时间:2024/06/14 04:23

Capabilities是由客户端发送给Appium服务器端的用来告诉服务器去启动哪种我们想要的会话的一套键值对集合。当中也有一些键值对是用来在自动化的过程中修改服务器端的行为方式。

必填的项目

deviceName 我无论填写什么值,在我机器上都可以跑通测试,但是这项又是必填。我用得Appium版本是V1.2.2。

app :如果填写了,appium会在目标机器上安装测试目标app,如果没有的话,会根据appActivity和appPackage去目标机器查找目标app

appPackage : 可以通过sdk自带工具aapt获得

image

appActivity:同样可以通过以上工具获得。

有一点需要注意的是,值可以附加packageName,也可以不附加。

也就是说以下两种填写方式都是对的“.NotesList”和”com.example.android.notepad.NotesList”

下表中不包含的配置,待补充考证:

noSign?

通用配置:

CapabilityDescriptionValuesautomationNameWhich automation engine to useAppium (default) orSelendroidplatformNameWhich mobile OS platform to useiOS, Android, orFirefoxOSplatformVersionMobile OS versione.g., 7.1, 4.4deviceNameThe kind of mobile device or emulator to useiPhone Simulator, iPad Simulator, iPhone Retina 4-inch, AndroidEmulator, Galaxy S4, etc…appThe absolute local path or remote http URL to an .ipa or.apk file, or a .zip containing one of these. Appium will attempt to install this app binary on the appropriate device first. Note that this capability is not required for Android if you specifyappPackage and appActivity capabilities (see below). Incompatible with browserName./abs/path/to/my.apk orhttp://myapp.com/app.ipabrowserNameName of mobile web browser to automate. Should be an empty string if automating an app instead.‘Safari’ for iOS and ‘Chrome’, ‘Chromium’, or ‘Browser’ for AndroidnewCommandTimeoutHow long (in seconds) Appium will wait for a new command from the client before assuming the client quit and ending the sessione.g. 60autoLaunchWhether to have Appium install and launch the app automatically. Default truetrue, falselanguage(Sim/Emu-only) Language to set for the simulator / emulatore.g. frlocale(Sim/Emu-only) Locale to set for the simulator / emulatore.g. fr_CAudidUnique device identifier of the connected physical devicee.g. 1ae203187fc012gorientation(Sim/Emu-only) start in a certain orientationLANDSCAPE or PORTRAITautoWebviewMove directly into Webview context. Default falsetrue, falsenoResetDon’t reset app state before this session. Default falsetrue, falsefullReset(iOS) Delete the entire simulator folder. (Android) Reset app state by uninstalling app instead of clearing app data. On Android, this will also remove the app after the session is complete. Default falsetrue, false

android only:

CapabilityDescriptionValuesappActivityActivity name for the Android activity you want to launch from your packageMainActivity, .SettingsappPackageJava package of the Android app you want to runcom.example.android.myApp, com.android.settingsappWaitActivityActivity name for the Android activity you want to wait forSplashActivityappWaitPackageJava package of the Android app you want to wait forcom.example.android.myApp, com.android.settingsdeviceReadyTimeoutTimeout in seconds while waiting for device to become ready5androidCoverageFully qualified instrumentation class. Passed to -w in adb shell am instrument -e coverage true -wcom.my.Pkg/com.my.Pkg.instrumentation.MyInstrumentationenablePerformanceLogging(Chrome and webview only) Enable Chromedriver’s performance logging (default false)true, falseandroidDeviceReadyTimeoutTimeout in seconds used to wait for a device to become ready after bootinge.g., 30androidDeviceSocketDevtools socket name. Needed only when tested app is a Chromium embedding browser. The socket is open by the browser and Chromedriver connects to it as a devtools client.e.g., chrome_devtools_remoteavdName of avd to launche.g., api19avdLaunchTimeoutHow long to wait in milliseconds for an avd to launch and connect to ADB (default 120000)300000avdReadyTimeoutHow long to wait in milliseconds for an avd to finish its boot animations (default 120000)300000avdArgsAdditional emulator arguments used when launching an avde.g., -netfastuseKeystoreUse a custom keystore to sign apks, default falsetrue or falsekeystorePathPath to custom keystore, default ~/.android/debug.keystoree.g., /path/to.keystorekeystorePasswordPassword for custom keystoree.g., fookeyAliasAlias for keye.g., androiddebugkeykeyPasswordPassword for keye.g., foochromedriverExecutableThe absolute local path to webdriver executable (if Chromium embedder provides its own webdriver, it should be used instead of original chromedriver bundled with Appium)/abs/path/to/webdriverspecialChromedriverSessionArgsCustom arguments passed directly to chromedriver in chromeOptions capability. Passed as object which properties depend on a specific webdriver.e.g., {'androidDeviceSocket': 'opera_beta_devtools_remote',}autoWebviewTimeoutAmount of time to wait for Webview context to become active, in ms. Defaults to 2000e.g. 4intentActionIntent action which will be used to start activity (defaultandroid.intent.action.MAIN)e.g.android.intent.action.MAIN,android.intent.action.VIEWintentCategoryIntent category which will be used to start activity (defaultandroid.intent.category.LAUNCHER)e.g. android.intent.category.LAUNCHER,android.intent.category.APP_CONTACTSintentFlagsFlags that will be used to start activity (default 0x10200000)e.g. 0x10200000optionalIntentArgumentsAdditional intent arguments that will be used to start activity. See Intent argumentse.g. --esn , --ez , etc.unicodeKeyboardEnable Unicode input, default falsetrue or falseresetKeyboardReset keyboard to its original state, after running Unicode tests withunicodeKeyboard capability. Ignored if used alone. Defaultfalsetrue or false

IOS ONLY

CapabilityDescriptionValuescalendarFormat(Sim-only) Calendar format to set for the iOS Simulatore.g. gregorianbundleIdBundle ID of the app under test. Useful for starting an app on a real device or for using other caps which require the bundle ID during test startupe.g.io.appium.TestApplaunchTimeoutAmount of time in ms to wait for instruments before assuming it hung and failing the sessione.g. 20000locationServicesEnabled(Sim-only) Force location services to be either on or off. Default is to keep current sim setting.true orfalselocationServicesAuthorized(Sim-only) Set location services to be authorized or not authorized for app via plist, so that location services alert doesn’t pop up. Default is to keep current sim setting. Note that if you use this setting you MUST also use the bundleId capability to send in your app’s bundle ID.true orfalseautoAcceptAlertsAccept iOS privacy access permission alerts (e.g., location, contacts, photos) automatically if they pop up. Default is false.true orfalsenativeInstrumentsLibUse native intruments lib (ie disable instruments-without-delay).true orfalsenativeWebTap(Sim-only) Enable “real”, non-javascript-based web taps in Safari. Default: false. Warning: depending on viewport size/ratio this might not accurately tap an elementtrue orfalsesafariAllowPopups(Sim-only) Allow javascript to open new windows in Safari. Default keeps current sim settingtrue orfalsesafariIgnoreFraudWarning(Sim-only) Prevent Safari from showing a fraudulent website warning. Default keeps current sim setting.true orfalsesafariOpenLinksInBackground(Sim-only) Whether Safari should allow links to open in new windows. Default keeps current sim setting.true orfalsekeepKeyChains(Sim-only) Whether to keep keychains (Library/Keychains) when appium session is started/finishedtrue orfalselocalizableStringsDirWhere to look for localizable strings. Default en.lprojen.lprojprocessArgumentsArguments to pass to the AUT using instrumentse.g., -myflaginterKeyDelayThe delay, in ms, between keystrokes sent to an element when typing.e.g., 100


0 0
原创粉丝点击