Appium Capabilities

通用能力

Capability Description Values
automationName 使用哪种自动化引擎 Appium(默认)或SelendroidUiAutomator2用于Android或XCUITestiOS
platformName 使用哪个移动OS平台 iOSAndroidFirefoxOS
platformVersion 移动OS版本 例如12.0,4.4
deviceName 要使用的移动设备或模拟器的种类 iPhone SimulatoriPad Simulator,iPhone Retina 4-inchAndroid Emulator,Galaxy S4,等....在iOS上,可以通过instruments -s devices获得。在Android上,此功能可以忽略
app 包的本地路径或者远程url /abs/path/to/my.apk
http://myapp.com/app.ipa
browserName 移动Web浏览器的名称。如果仅测试app,可忽略 iOS:Safari<br>Android:Browser ,Chromium:chrome
newCommandTimeout 会话等待间隔时间(以秒为单位) 例如 60
language 为iOS和Android设置的语言。它仅适用于iOS上的模拟器 例如 fr
locale 为iOS和Android设置的区域设置。它仅适用于iOS上的模拟器。fr_CA是iOS格式。CA是Android格式(国家/地区名称缩写) 例如fr_CACA
udid iOS连接的物理设备的唯一设备标识符 例如 1ae203187fc012g
autoWebview 直接进入Webview上下文。默认false truefalse
noReset 测试开始之前不重装APP。有关详细信息,请参见此处 true, false
fullReset 测试开始之前完全重置。有关详细信息,请参见此处 true, false
eventTimings 启用或禁用各种Appium内部事件的时间报告(例如,每个命令的开始和结束等)。默认为false。要启用,请使用true。然后,events在响应查询当前会话时,将时间报告为属性。请参阅事件计时文档以了解此响应的结构。 例如, true
enablePerformanceLogging (仅限Web和webview)启用Chromedriver(在Android上)或Safari(在iOS上)性能记录(默认false true, false
printPageSourceOnFindFailure 当查找操作失败时,打印当前页面源。默认为false。 例如, true

Android特有

Capability Description Values
appActivity app启动的activity MainActivity, .Settings
appPackage app的包名 com.example.android.myAppcom.android.settings
appWaitActivity 要等待的activity,必须设置为第一个启动的activity SplashActivity,SplashActivity,OtherActivity,*,*.SplashActivity
appWaitPackage 等待的Android应用程序的包名。 com.example.android.myApp, com.android.settings
appWaitDuration 用于等待appWaitActivity启动的超时(以毫秒为单位默认2000 30000
deviceReadyTimeout 等待设备准备就绪时超时(以秒为单位) 5
allowTestPackages 允许安装android:testOnly="true"的测试包。false默认情况下 true 或者 false
androidCoverage Fully qualified instrumentation class. adb shell am instrument -e coverage true -w com.my.Pkg/com.my.Pkg.instrumentation.MyInstrumentation
androidCoverageEndIntent 发送广播事件db shell am broadcast -a com.example.pkg.END_EMMA
androidDeviceReadyTimeout 用于等待设备在引导后准备就绪的超时秒数 例如, 30
androidInstallTimeout 用于等待apk安装到设备的超时时间(以毫秒为单位)。默认为90000 例如, 90000
androidInstallPath app安装到设备上的位置。默认为/data/local/tmp 例如 /sdcard/Downloads/
adbPort 用于连接ADB服务器的端口(默认5037 5037
systemPort systemPort用于连接appium-uiautomator2-serverappium-espresso-driver。默认值是8200,一般选择82008299之前的一个端口用于appium-uiautomator2-server,83008399选择端口用于appium-espresso-driver。并行运行测试时,必须调整端口以避免冲突。阅读并行测试设置指南了解更多详情。 例如, 8201
remoteAdbHost 可选的远程ADB服务器主机 例如:192.168.0.101
avd 要加载的avd的名称 例如, api19
avdLaunchTimeout avd启动并连接到ADB等待时长(默认60000 300000
avdReadyTimeout avd完成启动动画的等待时间(以毫秒为单位120000)(默认) 300000
avdArgs 启动avd时,使用的其他模拟器参数 例如, -netfast
useKeystore 默认情况下,使用自定义密钥库对apks进行签名false true 或者 false
keystorePath 自定义密钥库的路径,默认为~/.android/debug.keystore 例如, /path/to.keystore
keystorePassword 自定义密钥库的密码 例如, foo
keyAlias 密钥的别名 例如, androiddebugkey
keyPassword 密钥密码 例如, foo
chromedriverExecutable webdriver可执行文件的绝对本地路径(如果Chromium embedder提供自己的webdriver,则应该使用它而不是与Appium自带的原始chromedriver) /abs/path/to/webdriver
chromedriverExecutableDir 查找Chromedriver可执行文件的目录的绝对路径,用于自动发现兼容的Chromedrivers。如果chromedriverUseSystemExecutabletrue,则忽略 /abs/path/to/chromedriver/directory
chromedriverChromeMappingFile 文件的绝对路径,将Chromedriver版本映射到它支持的最小Chrome。如果chromedriverUseSystemExecutable是,则忽略true /abs/path/to/mapping.json
chromedriverUseSystemExecutable 如果true,绕过自动Chromedriver配置并使用随Appium下载的版本。如果chromedriverExecutable已设置则忽略。默认为false 例如, true
autoWebviewTimeout 等待Webview上下文变为活动状态的时间(以毫秒为单位)。默认为2000 例如 4
intentAction 将用于启动活动的意图操作(默认android.intent.action.MAIN 例如android.intent.action.MAIN,android.intent.action.VIEW
intentCategory 将用于启动活动的意图类别(默认android.intent.category.LAUNCHER 例如android.intent.category.LAUNCHER,android.intent.category.APP_CONTACTS
intentFlags 将用于启动活动的标志(默认0x10200000 例如 0x10200000
optionalIntentArguments 将用于启动活动的其他意图参数。请参阅Intent参数 例如--esn <EXTRA_KEY>,--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE>等等。
dontStopAppOnReset 在使用adb启动应用程序之前,不会停止正在测试的应用程序的进程。如果被测试的应用程序是由另一个锚点应用程序创建的,则将此设置为false将允许锚点应用程序的进程在使用adb的测试应用程序启动期间保持活动状态。换句话说,如果dontStopAppOnReset设置为true,我们将不会-Sadb shell am start调用中包含该标志。在省略或设置此功能的情况下false,我们包含该-S标志。默认false true 或者 false
unicodeKeyboard 启用Unicode输入,默认 false true 或者 false
resetKeyboard 在运行具有unicodeKeyboard功能的Unicode测试后,将键盘重置为其原始状态。如果单独使用,则忽略。默认false true 或者 false
noSign 使用调试键跳过检查和签名应用程序,仅适用于UiAutomator,而不适用于selendroid,默认false true 或者 false
ignoreUnimportantViews 调用setCompressedLayoutHierarchy()uiautomator函数。此功能可以加快测试执行速度,因为Accessibility命令将更快地运行而忽略某些元素。忽略的元素将无法找到,这就是为什么此功能也已实现为可切换设置和功能。默认为false true 或者 false
disableAndroidWatchers 禁用注意应用程序没有响应和应用程序崩溃的android观察者,这将减少Android设备/模拟器上的CPU使用率。此功能仅适用于UiAutomator,而不适用于selendroid,默认情况下false true 或者 false
chromeOptions 允许为ChromeDriver传递chromeOptions功能。有关更多信息,请参阅chromeOptions chromeOptions: {args: ['--disable-popup-blocking']}
recreateChromeDriverSessions 移至非ChromeDriver webview时,请终止ChromeDriver会话。默认为false true 或者 false
nativeWebScreenshot 在网络环境中,使用原生(adb)方法截取屏幕截图,而不是代理ChromeDriver。默认为false true 或者 false
androidScreenshotPath 将放置屏幕截图的设备上的目录名称。默认为/data/local/tmp 例如 /sdcard/screenshots/
autoGrantPermissions 让Appium自动确定您的应用所需的权限,并在安装时将其授予应用。默认为false。如果noResettrue,则此功能不起作用。 true 或者 false
networkSpeed 设置网络速度仿真。指定最大网络上载和下载速度。默认为full ['full','gsm', 'edge', 'hscsd', 'gprs', 'umts', 'hsdpa', 'lte', 'evdo']检查-netspeed选项有关avds的速度仿真的更多信息
gpsEnabled 在开始会话之前切换模拟器的gps位置提供程序。默认情况下,仿真器将根据其配置方式启用或不启用此选项。 true 或者 false
isHeadless 将此功能设置true为在无需显示设备显示时运行仿真器无头。false是默认值。isHeadless也支持iOS,检查特定于XCUITest的功能。 例如, true
otherApps 在运行测试之前要安装的应用程序或应用程序列表(作为JSON数组) 例如"/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 设置区域设置脚本 例如,"Cyrl"(西里尔文)

UIAutomator2特有

Capability Description Values
uiautomator2ServerLaunchTimeout 用于等待uiAutomator2服务器启动的超时(以毫秒为单位)。默认为20000 例如,20000
uiautomator2ServerInstallTimeout 用于等待安装uiAutomator2服务器的超时(以毫秒为单位)。默认为20000 例如, 20000
skipServerInstallation 跳过uiAutomator2服务器安装并使用设备中的uiAutomator2服务器。当设备上已安装适当版本的uiAutomator2服务器时,可用于提高启动性能。默认为false true 或者false

iOS 特有

Capability Description Values
calendarFormat (仅限Sim)要为iOS模拟器设置的日历格式 例如 gregorian
bundleId 被测试应用程序的捆绑ID。用于在真实设备上启动应用程序或在测试启动期间使用需要捆绑ID的其他大写字母。要使用捆绑包ID在真实设备上运行测试,您可以省略“app”功能,但必须提供“udid”。 例如 io.appium.TestApp
udid 连接的物理设备的唯一设备标识符 例如 1ae203187fc012g
launchTimeout 在假设挂起并且会话失败之前等待仪器的时间量(以ms为单位) 例如 20000
locationServicesEnabled (仅限Sim)强制位置服务打开或关闭。默认是保持当前的SIM设置。 true 或者 false
locationServicesAuthorized (仅限Sim)通过plist将应用程序的位置服务设置为授权或未授权,以便不会弹出位置服务警报。默认是保持当前的SIM设置。请注意,如果您使用此设置,您还必须使用该bundleId功能发送应用程序的包ID。 true 或者 false
autoAcceptAlerts 如果弹出,则自动接受所有iOS警报。这包括隐私访问许可警报(例如,位置,联系人,照片)。默认值为false。不适用于XCUITest基于测试。 true 或者 false
autoDismissAlerts 如果弹出,则自动关闭所有iOS警报。这包括隐私访问许可警报(例如,位置,联系人,照片)。默认值为false。不适用于XCUITest基于测试。 true 或者 false
nativeInstrumentsLib 使用原生intruments lib(即禁用仪器 - 无延迟)。 true 或者 false
nativeWebTap (仅限Sim)在Safari中启用“真实的”非基于JavaScript的网络点击。默认值:false。警告:根据视口大小/比例,这可能无法准确地点击元素 true 或者 false
safariInitialUrl (仅限Sim)(> = 8.1)初始safari url,默认为本地欢迎页面 例如 https://www.github.com
safariAllowPopups (仅限Sim)允许javascript在Safari中打开新窗口。默认保持当前的SIM设置 true 或者 false
safariIgnoreFraudWarning (仅限Sim)防止Safari显示欺诈性网站警告。默认保持当前的SIM设置。 true 或者 false
safariOpenLinksInBackground (仅限Sim)Safari是否应允许在新窗口中打开链接。默认保持当前的SIM设置。 true 或者 false
keepKeyChains (仅限Sim)是否在启动/完成appium会话时保留密钥链(库/ Keychains) true 或者 false
localizableStringsDir 在哪里寻找可本地化的字符串。默认en.lproj en.lproj
processArguments 使用仪器传递给AUT的参数 例如, -myflag
interKeyDelay 键入时发送到元素的击键之间的延迟(ms)。 例如, 100
showIOSLog 是否在appium日志中显示从设备捕获的任何日志。默认false true 或者 false
sendKeyStrategy 用于将测试键入测试字段的策略。模拟器默认:oneByOne。真实设备默认值: grouped oneByOne,grouped或setValue
screenshotWaitTimeout 等待生成屏幕截图的最大超时秒数。默认值:10 例如, 5
waitForAppScript 用于确定应用程序是否已启动的ios自动化脚本,默认情况下系统等待页面源不为空。结果必须是布尔值 例如true;,target.elements().length > 0;,$.delay(5000); true;
webviewConnectRetries 将连接消息发送到远程调试器以获取webview的次数。默认:8 例如, 12
appName 被测应用程序的显示名称。用于在iOS 9+中自动化应用程序的后台处理。 例如, UICatalog
customSSLCert (仅限Sim)将SSL证书添加到IOS Simulator。 例如 -----BEGIN CERTIFICATE-----MIIFWjCCBEKg...-----END CERTIFICATE-----
webkitResponseTimeout (仅限实际设备)设置等待来自Safari会话中WebKit的响应的时间(毫秒)。默认为5000 例如, 10000
remoteDebugProxy (仅限Sim,<= 11.2)如果设置,Appium通过本地端口(仅限Sim,<= 11.2)或此unix套接字上的代理(仅Sim> = 11.3)上的代理发送和接收远程调试消息,而不是直接与iOS远程调试器通信。 例如12000或"/tmp/my.proxy.socket"
最后编辑于
?著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,029评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,238评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,576评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,214评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,324评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,392评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,416评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,196评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,631评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,919评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,090评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,767评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,410评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,090评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,328评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,952评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,979评论 2 351

推荐阅读更多精彩内容

  • 用到的组件 1、通过CocoaPods安装 2、第三方类库安装 3、第三方服务 友盟社会化分享组件 友盟用户反馈 ...
    SunnyLeong阅读 14,609评论 1 180
  • 【老夏杂谈】今天不说橘子光说皮! 冬天吃橘子,正是最当季,但今天老夏不说橘子,只说说橘子皮。世间有些东西,都得越陈...
    拈花老夏阅读 461评论 0 0
  • 每看完一部韩剧,我都有一种被科普了一个职业的感觉。 《听见你的声音中》科普了律师的工作: 《匹诺曹》科普了记者的工...
    萌叉叉大人阅读 373评论 0 1
  • 今天出了一个大插曲.周末本来我也是一事无成的 用了一上午在图书馆的座椅上玩手机 因为图书馆人满了 我又要等妈妈结束...
    怀念小龙女阅读 151评论 0 0
  • 二年级的时候我开始学游泳,那时我是第一次接触泳池,刚到水池里,我就浑身发抖,手脚都不知道要放哪里?教练看到我这个样...
    陈明静candy阅读 184评论 0 2