appium里各种Desired 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上下文,默认FalseTrue,False

noReset :在会话前,不重启app,重启的话只删除数据True,False

fullReset :完全重启app,删除app,数据后重启True,False

eventTimings :启用或禁用各种Appium内部事件的时间报告,默认FalseTrue,False

enablePerformanceLogging :(仅限Web和webview)使在Chrome(在Android上)或Safari(在iOS上)可以有log(默认为false)True,False

printPageSourceOnFindFailure : 当某个操作失败时,打印当前页面代码,默认FalseTrue,False


Android Only

标签概述值

appActivitypackage :中想要运行的Activity name,名字前通常需要加.,默认从package manifest读取 如.MainActivity,MainActivity

appPackageAndroid : 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,默认为FalseTrue,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

androidInstallPathapk :安装前会先被push到的地址,默认是/data/local/tmp如/sdcard/Downloads/

adbPortadb :server的port,默认是5037如5037

systemPortSystemPort :用来连接appium-uiautomator2-server 或 appium-espresso-driver。对于前者,端口通常是8200-8299,后者为8300-8399,当两者都要用时,要注意产生冲突如8201

remoteAdbHost :远程的ADB host如192.168.0.101

androidDeviceSocketDevtools :套接字名称。 仅在测试的应用程序是Chromium浏览器时才需要。 套接字由浏览器打开,Chromedriver作为devtools客户端连接浏览器。如chrome_devtools_remote

avd  要启动的avd名如api19

avdLaunchTimeoutavd :启动并连接到adb的超时时间,默认为60000毫秒如30000

avdReadyTimeout :avd完成启动的动画需要的超时时间,默认为120000毫秒 如30000

avdArgs :模拟器启动时额外的参数如-netfast

useKeystore :使用自定义密钥库对apk签名,默认为falseTrue,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,则忽略。 默认为falseTrue,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,默认为FalseTrue,False

resetKeyboard :在用Unicode测试完成后,将键盘reset,不可单独使用,默认为FalseTrue,False

noSign :使用调试键跳过检查和签名应用程序,仅适用于UiAutomator,而不适用于selendroid,默认为falseTrue,False

ignoreUnimportantViews :是否调用uiautomator的函数setCompressedLayoutHierarchy(),此功能能加快测试速度,Accessibility命令将更快地运行而忽略某些元素True,False

disableAndroidWatchers :是否禁用app的监听功能,这会减少cpu使用率。此功能仅适用于UiAutomator,而不适用于selendroid,默认为falseTrue,False

chromeOptions :提供chromeDriver的capability参数chromeOptions: {args: ['--disable-popup-blocking']}

recreateChromeDriverSessions :移动至非web程序时,是否杀掉chromeDriverTrue,False

nativeWebScreenshot :在web程序中,用原生adb截图,而不是chromeDriverTrue,False

androidScreenshotPath :文件截图默认存放地址如/sdcard/screenshots/

autoGrantPermissions :让appium自动授权app权限,如果noReset为True,则该条不生效True,False

networkSpeed :指定网络最快上传与下载速度如['full','gsm', 'edge', 'hscsd', 'gprs', 'umts', 'hsdpa', 'lte', 'evdo']

gpsEnabled是否启动gpsTrue,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"]

adbExecTimeoutadb :指令超时时间,默认是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.lprojTrue,False

processArguments通过 instruments 传递到 AUT 的参数如-myflag

interKeyDelay输入值时发送到元素的延迟时间如100

showIOSLog是否在appium日志中显示从设备捕获的任何日志。 默认为falseTrue,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"

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,874评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,102评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,676评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,911评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,937评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,935评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,860评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,660评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,113评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,363评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,506评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,238评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,861评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,486评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,674评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,513评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,426评论 2 352

推荐阅读更多精彩内容