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... |
webkitResponseTimeout | (只限制真实设备)等待safari中页面的响应时间,默认为毫秒 | 如3000 |
remoteDebugProxy | (仅限Sim, <= 11.2)如果设置,Appium通过本地端口(仅限Sim,<= 11.2)上的代理或此unix套接字上的代理(仅Sim> = 11.3)发送和接收远程调试消息,而不是直接与iOS远程调试器通信。 例如 12000 | 如12000 or "/tmp/my.proxy.socket" |
appium Capabilities的各个标签的更多相关文章
- appium(5)-Appium capabilities
Appium Capabilities Appium server capabilities Capability Description Values automationName Which au ...
- Appium Capabilities 详解(Android适配/IOS后续再补充)
Appium 关键字 关键字 描述 实例 automationName 你想使用的自动化测试引擎 Appium (默认) 或 Selendroid platformName 你要测试的手机操作系统 i ...
- Appium移动自动化测试-----(七)Desired Capabilities
Desired Capabilities Desired Capabilities 在启动 session 的时候是必须提供的. Desired Capabilities 本质上是以 key valu ...
- 第一个appium的Demo
原文来自:一颗糖果 http://www.cnblogs.com/linglingyuese/articles/8418311.html 一.环境搭建 略(后期补) 二.创建一个测试apk包的项目 ...
- Appium python自动化测试系列之认识Appium(四)
4.1界面认识 在之前安装appium的时候说过我们有两种方法安装,也就有两种结果,一种是有界面的,一种是没有界面的,首先我们先讲一下有界面的,以及界面有哪些东西. 首先看第一幅图,如果你的是win ...
- Appium+python自动化(八)- 初识琵琶女Appium(千呼万唤始出来,犹抱琵琶半遮面)- 下(超详解)
简介 通过上一篇宏哥给各位小伙伴们的引荐,大家移动对这位美女有了深刻的认识,而且她那高超的技艺和婀娜的身姿久久地浮现在你的脑海里,是不是这样呢???不要害羞直接告诉宏哥:是,就对了.宏哥要的就是这个 ...
- Appium简单测试用例
工程目录如下: 封装初始化androiddriver 方法 import org.openqa.selenium.remote.DesiredCapabilities; import java.io. ...
- 五 Android Capabilities讲解
1.Capabilities介绍 可以看下之前代码里面设置的capabilities DesiredCapabilities capabilities = new DesiredCapabilitie ...
- 三 APPIUM Android自动化 测试初体验
1.创建一个maven项目 成功新建工程: 编辑pom.xml,在<dependencies></dependencies>下添加appium相关依赖: <depende ...
随机推荐
- __slots__(面向对象进阶)
1.__slots__是什么:是一个类变量,变量值可以是列表,元祖,或者可迭代对象,也可以是一个字符串(意味着所有实例只有一个数据属性) 2.引子:使用点来访问属性本质就是在访问类或者对象的__dic ...
- .net core利用MySqlBulkLoader大数据批量导入MySQL
最近用core写了一个数据迁移小工具,从SQLServer读取数据,加工后导入MySQL,由于数据量太过庞大,数据表都过百万,常用的dapper已经无法满足.三大数据库都有自己的大数据批量导入数据的方 ...
- Web前后端数据交换技术和规范发展史:Form、Ajax、Comet、Websocket
第一阶段:Form web应用想要与服务器交互,必须提交一个表单(form).服务器接收并处理该表单,然后返回一个全新的页面. 缺点:前后两个页面需要更新的数据可能很少,这个过程可能传输了很多之前那个 ...
- Kinect-for-Windows-SDK开发
微软的黑科技,应用在游戏或者科研领域.可以类似于双摄像头三维成像.
- .NET基础 (10)流和序列化
流和序列化1 什么是流,.NET中有哪些常见的流2 如何使用压缩流3 Serializable特性有何作用4 .NET提供了哪几种可进行序列化操作的类型5 如何自定义序列化和反序列化的过程 流和序列化 ...
- C++中break/Continue,exit/return的理解
刚才遇到了一个问题,大概是这样的. func1执行完成,进入func1Complete,其中switch处理func1返回的数据,如果返回数据是clear则重新执行func1. 测试的时候发现func ...
- onenote无法更新,提示无法流式传输、无法登陆等问题解答
onenote无法更新,提示无法流式传输 修改DNS 4.2.2.1 和 4.2.2.2 onenote反复提示登录 升级到IE11
- nancy 中的json问题
按源码中的实例 来测试 测试地址 http://localhost:55581/restApi/secure/?ApiKey=15c6b59b-fd96-43ad-99d2-7f394f99272 ...
- [PHP]socket的连接超时 与 读取/写入超时
socket处理时有两种超时 , 分为连接超时 和 读取/写入数据超时 1. stream_socket_client 函数中的超时时间是连接超时 , 默认是php.ini中的default_sock ...
- WPF Image显示图片,文件被占用异常
imageControl.Source = this.GetBitmapImage(imagePath);//imageControl为WPF Image控件 public BitmapImage G ...