appium Capabilities的各个标签

今天详解一下Capabilities的各个标签,以后如果用得着可以随时翻阅。

 

General Capabilities

标签 概述 值
automationName 使用引擎 默认为Appium,其中Appium、UiAutomator2、Selendroid、Espresso用于Android,XCUITest用于iOS
platformName 操作系统 如iOS、Android、FirefoxOS
platformVersion 操作系统版本 如7.1,4.4
deviceName 设备名 如iPhone Simulator, iPad Simulator, iPhone Retina 4-inch, Android Emulator, Galaxy S4,iOS需要,Android可以忽略
app apk、.ipa等的加载路径 如D:\\text.apk、/home/zhuyt/test.ipa
browserName 浏览器名,若为app则省略 如'Safari'、'Chromium'
newCommandTimeout appium server与client的超时时间 如60s
language 语言,默认只有用Siumulator才有效 如fr
locale 国家地区,默认只有用Siumulator才有效 如fr_CA, CA
udid 连接的物理设备的唯一设备标识符 如1ae203187fc012g
orientation (仅限Sim / Emu)以某个方向开始 LANDSCAPE or PORTRAIT
autoWebview 直接进入Webview上下文,默认False True,False
noReset 在会话前,不重启app,重启的话只删除数据 True,False
fullReset 完全重启app,删除app,数据后重启 True,False
eventTimings 启用或禁用各种Appium内部事件的时间报告,默认False True,False
enablePerformanceLogging (仅限Web和webview)使在Chrome(在Android上)或Safari(在iOS上)可以有log(默认为false) True,False
printPageSourceOnFindFailure  当某个操作失败时,打印当前页面代码,默认False True,False

 

Android Only

标签 概述 值
appActivity package中想要运行的Activity name,名字前通常需要加.,默认从package manifest读取  如.MainActivity,MainActivity
appPackage Android app中想要运行的Java的package包,默认从package manifest读取 如com.example.android.myApp
appWaitActivity 设置要等待的activity,默认与appActivity一样,若有appActivity、appPackage,则必须设置为第一个启动的activity名称 如MainActivity,MainActivity
appWaitPackage 要等待的App内的Java Package,默认与appPackage相等. 如com.example.android.myApp, com.android.settings
appWaitDuration 用于等待appWaitActivity启动的超时(以毫秒为单位)(默认为20000) 如30000
deviceReadyTimeout 等待设备准备就绪时的超时时间(默认为s) 如5
allowTestPackages 如果在manifest中有android:testOnly="true",则允许安装test Package,默认为False True,False
androidCoverage 用于执行测试的 instrumentation 类, adb shell am instrument -e coverage true -w 后接instumentation类,如com.my.Pkg.instrumentation.MyInstrumentation
androidCoverageEndIntent 设置实施的广播操作,覆盖范围为文件系统。即调用adb shell am broadcast -a  后接参数如com.example.pkg.END_EMMA
androidDeviceReadyTimeout 设备引导结束后,准备就绪的超时时间    如30
androidInstallTimeout 安装apk用的超时时间,默认90000毫秒 如90000
androidInstallPath apk安装前会先被push到的地址,默认是/data/local/tmp 如/sdcard/Downloads/
adbPort adb server的port,默认是5037 如5037
systemPort SystemPort用来连接appium-uiautomator2-server 或 appium-espresso-driver。对于前者,端口通常是8200-8299,后者为8300-8399,当两者都要用时,要注意产生冲突 如8201
remoteAdbHost 远程的ADB host 如192.168.0.101
androidDeviceSocket Devtools套接字名称。 仅在测试的应用程序是Chromium浏览器时才需要。 套接字由浏览器打开,Chromedriver作为devtools客户端连接浏览器。 如chrome_devtools_remote
avd   要启动的avd名 如api19
avdLaunchTimeout avd启动并连接到adb的超时时间,默认为60000毫秒 如30000
avdReadyTimeout avd完成启动的动画需要的超时时间,默认为120000毫秒  如30000
avdArgs 模拟器启动时额外的参数 如-netfast
useKeystore 使用自定义密钥库对apk签名,默认为false True,Fasle
keystorePath 自定义密钥库的地址,默认为~/.android/debug.keystore 如/path/to.keystore
keystorePassword 密钥库的密码 如foo
keyAlias 密钥的别名 如androiddebugkey
keyPassword 密钥的密码 如foo
chromedriverExecutable webdriver的绝对路径,如果chrome提供给了自己的wedriver,则应使用这,不用与appium绑定的chromedriver 如/abs/path/to/webdriver
chromedriverExecutableDir chromedriver的路径,会自动在该路径寻找chromedriver,如果chromedriverUseSystemExecutable 是true,则忽略 如/abs/path/to/chromedriver/directory
chromedriverChromeMappingFile 文件的绝对路径,将Chromedriver版本映射到它支持的最小Chrome。 如果chromedriverUseSystemExecutable为true,则忽略 如/abs/path/to/mapping.json
chromedriverUseSystemExecutable 如果为true,则绕过自动Chromedriver配置并使用随Appium下载的版本。 如果设置了chromedriverExecutable,则忽略。 默认为false True,False
autoWebviewTimeout 等待webView激活的超时时间,默认是2000毫秒 如2000
intentAction 用于启动 activity 的 intent action,默认值为android.intent.action.MAIN 如android.intent.action.MAIN
intentCategory


指定当前动作(Action)被执行的环境

如android.intent.category.LAUNCHER, android.intent.category.APP_CONTACTS
intentFlags 用于启动的activity的标志,默认0x10200000 如0x10200000
optionalIntentArguments 用于启动activity的intent action的参数 如--esn <EXTRA_KEY>, --ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE>
dontStopAppOnReset 用于是否关闭activity所属的app后再启动activity,等同于adb shell am start 是否使用-S参数 True,False
unicodeKeyboard 使可以输入Unicode,默认为False True,False
resetKeyboard 在用Unicode测试完成后,将键盘reset,不可单独使用,默认为False True,False
noSign 使用调试键跳过检查和签名应用程序,仅适用于UiAutomator,而不适用于selendroid,默认为false True,False
ignoreUnimportantViews 是否调用uiautomator的函数setCompressedLayoutHierarchy(),此功能能加快测试速度,Accessibility命令将更快地运行而忽略某些元素 True,False
disableAndroidWatchers 是否禁用app的监听功能,这会减少cpu使用率。此功能仅适用于UiAutomator,而不适用于selendroid,默认为false True,False
chromeOptions 提供chromeDriver的capability参数 chromeOptions: {args: ['--disable-popup-blocking']}
recreateChromeDriverSessions 移动至非web程序时,是否杀掉chromeDriver True,False
nativeWebScreenshot 在web程序中,用原生adb截图,而不是chromeDriver True,False
androidScreenshotPath 文件截图默认存放地址 如/sdcard/screenshots/
autoGrantPermissions 让appium自动授权app权限,如果noReset为True,则该条不生效 True,False
networkSpeed 指定网络最快上传与下载速度 如['full','gsm', 'edge', 'hscsd', 'gprs', 'umts', 'hsdpa', 'lte', 'evdo']
gpsEnabled 是否启动gps True,False
isHeadless 将此功能设置为true可在无需显示设备时运行仿真器。 false是默认值isHeadless也支持iOS,检查特定于XCUITest的功能 True,False
otherApps 运行测试前需要安装的app列表 如"/path/to/app.apk", https://www.example.com/url/to/app.apk, ["/path/to/app-a.apk", "/path/to/app-b.apk"]
adbExecTimeout adb指令超时时间,默认是20000毫秒 如50000
localeScript 建立一个script 例如"Cyrl" (Cyrillic)

 

UIAutomator2 Only

标签 概述 值
uiautomator2ServerLaunchTimeout 等待uiAutomator2的server启动超时时间,单位毫秒 如3000
uiautomator2ServerInstallTimeout 等待uiAutomator2的server被安装超时时间,单位毫秒 如3000

 

 

 

 

 

Espresso Only

标签 概述 值
espressoServerLaunchTimeout 等待espresso的server的启动超时时间,单位毫秒 如3000

 

 

 

 

iOS Only

标签 概述 值
calendarFormat (仅限Sim)要为iOS模拟器设置的日历格式 如gregorian
bundleId 被测试应用程序的bundle Id。用于在真实设备中启动测试,。在使用 bundle ID 在真实设备上执行测试时,你可以省略'app'关键字,但你必须提供 `udid` , 如io.appium.TestApp
udid 设备唯一物理地址号 如1ae203187fc012g
launchTimeout 启动超时时间,单位毫秒 如3000 
locationServicesEnabled (仅限Sim)强制关闭定位与否。 True,False
locationServicesAuthorized (仅限Sim)通过修改 plist 文件设定是否允许应用使用定位服务,从而避免定位服务的警告出现。请注意在使用这个关键字时,必须需要使用 `bundleId` 关键字来发送应用的 bundle ID。 True,False
autoAcceptAlerts 接收任何警告处理,包括隐私访问许可警报。默认为False。不适用于基于XCUITest的测试。 True,False
autoDismissAlerts 不接受任何警告处理,包括隐私访问许可警报。默认为False。不适用于基于XCUITest的测试。 True,False
nativeInstrumentsLib 使用原生 intruments 库 (即关闭 instruments-without-delay )  True,False
nativeWebTap (仅限Sim)在Safari中启用“真实的”非基于JavaScript的网络点击。 默认值:false。 警告:根据视口大小/比例,这可能无法准确地点击元素 True,False
safariInitialUrl (仅限Sim)(>= 8.1) 初始的safari的URL,默认是当前的欢迎页 如https://www.github.com
safariAllowPopups (仅限Sim)允许用JS在Safari中打开新窗口。 True,False
safariIgnoreFraudWarning (仅限Sim)防止Safari显示欺诈性网站警告。 True,False
safariOpenLinksInBackground (仅限Sim)Safari是否应允许在新窗口中打开链接。  True,False
keepKeyChains (仅限Sim)是否在启动/完成appium会话时保留KeyChains,即保存密码等。 True,False
localizableStringsDir (仅限Sim)是否寻找本地化的字符串。默认en.lproj True,False
processArguments 通过 instruments 传递到 AUT 的参数 如-myflag
interKeyDelay 输入值时发送到元素的延迟时间 如100
showIOSLog 是否在appium日志中显示从设备捕获的任何日志。 默认为false True,False
sendKeyStrategy 输入文本到文本框的策略。模拟器默认:一个一个输。真实设备:分组输 oneByOne, grouped or setValue 
screenshotWaitTimeout 等待生成屏幕截图的最大超时秒数。 默认值:10,单位为秒 如10
waitForAppScript 用于判断 "应用是否被启动” 的 iOS 自动化脚本代码。默认情况下系统等待直到页面内容非空。结果必须是布尔类型。 如true;, target.elements().length > 0;, $.delay(5000); 
webviewConnectRetries 将连接消息发送到远程调试器以获取webview的次数。 默认值:8 如8
appName 被测试的app的显示名字。IOS系统版本需要为9.0+ 如UICatalog
customSSLCert (仅限Sim)将SSL证书添加到iOS的模拟器中

如

-----BEGIN CERTIFICATE-----MIIFWjCCBEKg...
-----END CERTIFICATE-----

webkitResponseTimeout (只限制真实设备)等待safari中页面的响应时间,默认为毫秒 如3000
remoteDebugProxy  (仅限Sim, <= 11.2)如果设置,Appium通过本地端口(仅限Sim,<= 11.2)上的代理或此unix套接字上的代理(仅Sim> = 11.3)发送和接收远程调试消息,而不是直接与iOS远程调试器通信。 例如 12000 如12000 or "/tmp/my.proxy.socket"
posted @ 2020-09-07 10:44  丫头_de  阅读(182)  评论(0)    收藏  举报