记录下appium文档关键字,方便查找:
https://appium.io/docs/cn/writing-running-appium/caps/#xcuitestios
键 |
描述 |
值 |
---|---|---|
|
自动化测试的引擎 |
|
|
使用的手机操作系统 |
|
|
手机操作系统的版本 |
例如 |
|
使用的手机或模拟器类型 |
|
|
本地绝对路径_或_远程 http URL 所指向的一个安装包( |
|
|
做自动化时使用的浏览器名字。如果是一个应用则只需填写个空的字符串 |
'Safari' 对应 iOS,'Chrome', 'Chromium', 或 'Browser' 则对应 Android |
|
用于客户端在退出或者结束 session 之前,Appium 等待客户端发送一条新命令所花费的时间(秒为单位) |
例如 |
|
(Sim/Emu-only) 为模拟器设置语言 |
例如 |
|
(Sim/Emu-only) 为模拟器设置所在区域 |
例如 |
|
连接真机的唯一设备号 |
例如 |
|
(Sim/Emu-only) 模拟器当前的方向 |
|
|
直接转换到 Webview 上下文(context)。默认值为 |
|
|
在当前 session 下不会重置应用的状态。默认值为 |
|
|
(iOS)删除所有的模拟器文件夹。(Android) 要清除 app 里的数据,请将应用卸载才能达到重置应用的效果。在 Android, 在 session 完成之后也会将应用卸载掉。默认值为 |
|
Android 独有
键 |
描述 |
值 |
---|---|---|
|
Activity 的名字是指从你的包中所要启动的 Android acticity。他通常需要再前面添加 |
|
|
运行的 Android 应用的包名 |
|
|
用于等待启动的 Android Activity 名称 |
|
|
用于等待启动的 Android 应用的包 |
|
|
用于等待 appWaitActivity 启动的超时时间(以毫秒为单位)(默认值为 |
|
|
用于等待模拟器或真机准备就绪的超时时间 |
|
|
用于执行测试的 instrumentation 类。 传送 |
|
|
(仅适用于 Chrome 与 webview)开启 Chromedriver 的性能日志。(默认值为 |
|
|
用于等待设备在启动应用后准备就绪的超时时间。以秒为单位。 |
例如 |
|
用于等待在设备中安装 apk 所花费的时间(以毫秒为单位)。默认值为 |
例如 |
|
用来连接 ADB 服务器的端口(默认值为 |
|
|
开发工具的 socket 名称。只有在被测应用是一个使用 Chromium 内核的浏览器时才需要。socket 会被浏览器打开,然后 Chromedriver 把它作为开发者工具来进行连接。 |
例如 |
|
被启动 avd 的名字 |
例如 |
|
用于等待 avd 启动并连接 ADB 的超时时间(以毫秒为单位),默认值为 |
|
|
用于等待 avd 完成启动动画的超时时间(以毫秒为单位),默认值为 |
|
|
启动 avd 时使用的额外参数 |
例如 |
|
使用自定义的 keystore 给 apk 签名,默认值为 |
|
|
自定义 keystore 的路径, 默认路径为 ~/.android/debug.keystore |
例如 |
|
自定义 keystore 的密码 |
例如 |
|
key 的别名 |
例如 |
|
key 的密码 |
例如 |
|
webdriver 可执行文件的绝对路径(如果 Chromium 内嵌一个自己提供的 webdriver,则应使用他去替换掉 Appium 自带的 chromedriver) |
|
|
用于等待 Webview 上下文(context)激活的时间(以毫秒为单位)。默认值为 |
例如 |
|
用于启动 activity 的 intent action(默认值为 |
例如 |
|
用于启动 activity 的 intent category。(默认值为 |
例如 |
|
用于启动 activity 的标识(flags)(默认值为 |
例如 |
|
用于启动 activity 的额外 intent 参数。请查看 Intent 参数 |
例如 |
|
在使用 adb 启动应用之前,不要终止被测应用的进程。如果被测应用是被其他钩子(anchor)应用所创建的,设置该参数为 false 后,就允许钩子(anchor)应用的进程在使用 adb 启动被测应用期间仍然存在。换而言之,设置 |
|
|
使用 Unicode 输入法。 默认值为 |
|
|
在设定了 |
|
|
跳过检查和对应用进行 debug 签名的步骤。仅适用于 UiAutomator,不适用于 selendroid。 默认值为 |
|
|
调用 uiautomator 的函数 |
|
|
禁用 android 监视器(watchers)。监视器用于见识应用程序的无响应状态(anr)和崩溃(crash),禁用会降低 Android 设备或模拟器的 CPU 使用率。该 capability 仅在使用 UiAutomator 时有效,不适用于 selendroid,默认设置为 |
|
|
允许对 ChromeDriver 传 chromeOptions 的参数。了解更多信息请查阅 chromeOptions |
|
|
当移除非 ChromeDriver webview时,终止掉 ChromeDriver 的 session。默认设置为 |
|
|
在 web 的上下文(context),使用原生(native)的方法去截图,而不是用过代理的 ChromeDriver。默认值为 |
|
|
在设备中截图被保存的目录名。默认值为 |
例如 |
|
让Appium自动确定您的应用需要哪些权限,并在安装时将其授予应用。默认设置为 |
|
iOS 独有
键 |
描述 |
值 |
---|---|---|
|
(仅支持模拟器) 为iOS的模拟器设置日历格式 |
例如 |
|
被测应用的 bundle ID 。用于在真实设备中启动测试,也用于使用其他需要 bundle ID 的关键字启动测试。在使用 bundle ID 在真实设备上执行测试时,你可以不提供 |
例如 |
|
连接的真实设备的唯一设备编号 (Unique device identifier) |
例如 |
|
以毫秒为单位,在 Appium 运行失败之前设置一个等待 instruments 的时间 |
例如 |
|
(仅支持模拟器)强制打开或关闭定位服务。默认值是保持当前模拟器的设定. |
|
|
(仅支持模拟器)通过修改 plist 文件设定是否允许应用使用定位服务,从而避免定位服务的警告出现。默认值是保持当前模拟器的设定。请注意在使用这个关键字时,你同时需要使用 |
|
|
当警告弹出的时候,都会自动去点接受。包括隐私访问权限的警告(例如 定位,联系人,照片)。默认值为 false。不支持基于 |
|
|
当警告弹出的时候,都会自动去点取消。包括隐私访问权限的警告(例如 定位,联系人,照片)。默认值为 false。不支持基于 |
|
|
使用原生 intruments 库(即关闭 instruments-without-delay)。 |
|
|
(仅支持模拟器)在Safari中允许“真实的",非基于 javascript 的 web 点击 (tap) 。 默认值: |
|
|
(仅支持模拟器) (>= 8.1) 初始化 safari 的时使用的地址。默认是一个本地的欢迎页面 |
例如 |
|
(仅支持模拟器)允许 javascript 在 Safari 中创建新窗口。默认保持模拟器当前设置。 |
|
|
(仅支持模拟器)阻止 Safari 显示此网站可能存在风险的警告。默认保持浏览器当前设置。 |
|
|
(仅支持模拟器)Safari 是否允许链接在新窗口打开。默认保持浏览器当前设置。 |
|
|
(仅支持模拟器)当 Appium 会话开始/结束时是否保留存放密码存放记录 (keychains) 库(Library)/钥匙串(Keychains)) |
|
|
从哪里查找本地化字符串。默认值为 |
|
|
通过 instruments 传递到 AUT 的参数 |
例如 |
|
以毫秒为单位,按下每一个按键之间的延迟时间 |
例如 |
|
是否在 Appium 的日志中显示设备的日志。默认值为 |
|
|
输入文字到文字框的策略。模拟器默认值: |
|
|
以秒为单位,生成屏幕截图的最长等待时间。默认值为:10 |
例如 |
|
用于判断 "应用是否被启动” 的 iOS 自动化脚本代码。默认情况下系统等待直到页面内容非空。结果必须是布尔类型。 |
例如 |
|
用于获取 webview 失败时,发送连接信息到远程调试器的次数。默认次数为: |
例如 |
|
被测应用的名字。 用于支持 iOS 9 以上系统的应用的自动化。 |
例如 |
|
(Sim/Emu-only) 给模拟器添加一个 SSL 证书。 |
例如 |
使用 XCUITest(iOS 独有)
键 |
描述 |
值 |
---|---|---|
|
将会传送到 WebDriverAgent 的进程参数与环境 |
|
|
如果这个值被指定了,Mac 主机就会使用这个端口,通过 USB 发送数据到 iOS 设备中。默认的端口与 iOS 设备中 WDA 的端口号是一致的。 |
例如 |
|
是否显示运行测试时 Xcode 的输出日志,如果值设置为 |
例如 |
|
安装应用程序与启动 WebDriverAgent 之间停止的间隔时间(以毫秒为单位),特别适用于体积较大的包。默认是设置为 |
例如 |
|
一个可选的 Xcode 可配置文件的完整路径,用于指定在真机上运行 WebDriverAgent 的个人身份或者团队身份的代码签名。 |
例如 |
|
从系统的 keychain 中导出私有开发秘钥的完整路径。在真机测试时与 |
例如 |
|
在 |
例如 |
|
模拟器缩放因子。这对于默认分辨率是大于实际分辨的模拟器来说非常有用。因此,你不用上下滑动模拟器的屏幕就能看到所有模拟器显示的内容了。 |
可接受的值为: |
|
设置 WebDriverAgent 项目中的 DerivedData 文件夹的权限为 |
设置 capabilitity 为 |
|
若提供了 URL,Appium 将在这 URL 上连接现有的 WebDriverAgent 实例,而不是重新启动一个。 |
例如 |
|
若设置为 |
例如 |
|
等待 WebDriverAgent 可 ping 同的时间(以毫秒为单位)。默认设置为 60000ms。 |
例如 |
|
若设置为 |
- |
You.i 引擎独有
键 |
描述 |
值 |
---|---|---|
|
正在运行的应用的设备的 IP 地址。使用 |
例如 |
WinAppDriver 独有
键 |
描述 |
值 |
---|---|---|
|
运行测试时所在的平台 |
例如 |
|
运行测试时所使用设备的名字 |
例如 |
|
被测 windows 应用的 appID 或被测的 .exe 文件的路径。 查阅该文档可了解更多查找 appID 的详细方法。 |
例如 |
WebDriverAgent的构建和运行功能:
能力 |
描述 |
价值观 |
---|---|---|
|
Apple开发人员团队标识符字符串。必须结合使用 |
例如, |
|
表示签名证书的字符串。必须与结合使用 |
例如, |
|
可选Xcode配置文件的完整路径,该文件指定 |
例如, |
|
捆绑包ID,用于在实际设备上构建和启动之前将WDA更新为。该捆绑包ID 必须与有效的配置文件关联。 |
例如, |
|
从系统钥匙串导出的专用开发密钥的完整路径。与 |
例如, |
|
中指定的用于解锁钥匙串的密码 |
例如, |
|
与usePrebuiltWDA功能一起使用,并选择在何处搜索现有WDA应用程序。如果未设置此功能,则Xcode会将派生的数据存储在从首选项中获取的默认根目录中。 |
|
|
如果提供,Appium将通过 |
例如, |
|
如果为 |
例如, |
|
等待 |
例如, |
|
超时,以毫秒为单位,用于等待的响应 |
例如, |
|
尝试 |
例如, |
|
在尝试构建和启动之间等待的时间(以毫秒为单位) |
例如, |
|
如果指定了此值,将用于通过USB将流量从Mac主机转发到真实的ios设备。默认值与WDA在设备上使用的端口号相同。 |
例如, |
|
如果指定了此值,将用作构建自定义 |
例如, |
|
是否显示用于运行测试的Xcode命令的输出。如果是 |
例如, |
|
在安装应用程序和 |
例如, |
|
跳过运行WDA应用程序的构建阶段。建造是用户的责任。仅适用于Xcode 8+。默认为 |
例如, |
|
使用SSL下载的依赖项 |
|
|
在中使用默认代理进行测试管理 |
例如, |
|
使用Xctestrun文件启动WDA。它将在中搜索此类文件 |
例如, |
|
建立与 |
|
|
将调用延迟 |
例如 |
|
进程参数和环境将被发送到 |
|
|
设置 |
|
模拟器控制功能:
能力 |
描述 |
价值观 |
---|---|---|
|
模拟器比例因子。如果模拟设备的默认分辨率大于实际显示分辨率,这很有用。因此,您可以缩放模拟器以查看整个设备屏幕,而无需滚动。 |
运行Xcode SDK 8和更早版本的模拟器的可接受值为: |
|
将此选项设置为 |
|
|
将其设置为 |
例如, |
|
将此功能设置为: |
例如, |
|
允许为Xcode9 + SDK明确设置模拟器窗口中心的坐标。仅当尚未在当前会话开始之前为当前会话打开“模拟器”窗口时,此功能才有效。 |
例如 |
|
如果将此功能设置为 |
例如 |
|
在会话创建中创建一个新的模拟器,并在会话删除中将其删除。默认为 |
|
|
将功能设置为 |
例如 |
|
此功能接受逗号分隔的路径模式,当在Simulator上执行完全重置时,这些路径模式将不包含在钥匙串还原中。如果您只想排除特定的钥匙串类型,例如应用程序钥匙串,则可能会很有用。此功能对实际设备不起作用。 |
例如 |
|
它允许打开/关闭减少运动辅助功能偏好。设置reduceMotion |
例如 |
|
仅允许在Simulator上为指定的应用程序捆绑包设置权限。功能值应为 |
例如 |
|
|
例如: |
常规功能:
能力 |
描述 |
价值观 |
---|---|---|
|
是否在测试会话完成( |
无论是 |
|
WDA后端命令执行的自定义超时(以毫秒为单位)。如果WDA后端意外冻结或需要太多时间才能失败并阻止自动测试执行,则这可能很有用。该值应为字符串类型,可以包含最大毫秒数以等待每个WDA命令执行,然后强制终止会话,也可以包含有效的JSON字符串,其中的键是内部Appium命令名称(您可以在日志中找到这些名称,查找“执行命令'command_name'”记录),值是超时(以毫秒为单位)。您还可以设置“默认”键,为未明确列举为JSON键的所有其他命令分配超时。 |
|
|
击键和清除的最大击键频率。如果由于键入错误而导致测试失败,则可能需要进行调整。默认为每分钟60次击键。 |
例如, |
|
使用本机方法确定元素的可见性。在某些情况下,这需要很长时间。将此功能设置为 |
例如 |
|
此功能将指导 |
例如, |
|
从WDA获取JSON源,并在Appium服务器上解析为XML。这可以更快,尤其是在大型设备上。默认为 |
例如, |
|
WDA在其上广播被测设备编码为MJPEG格式的屏幕快照流的端口号。如果默认端口由于其他并行运行的测试而繁忙,则可能需要更改此值。默认值: |
例如 |
|
它允许 |
例如 |
|
根据xctest / xctimagequality更改电话显示屏幕截图的质量。 默认值为 |
例如 |
|
跳过以开始捕获日志,例如崩溃,系统,safari控制台和safari网络。它可能会改善网络等性能。与日志相关的命令将不起作用。默认为 |
|
|
在Safari上执行脚本时,打开/关闭Web Inspector垃圾收集。打开可能会提高性能。默认为 |
|
|
将Safari Web上下文添加到本机/ Webview应用程序测试期间可用的上下文列表中。如果测试打开了Safari并且需要能够与它进行交互,这将非常有用。默认为 |
|
|
应用程序上载的超时时间(以毫秒为单位)。仅适用于真实设备。默认值为30000ms |
例如 |
|
以纯文本格式记录发送到Web Inspector以及从Web Inspector接收的所有插件。对于某些操作,这可能会包含大量数据,因此建议仅在必要时使用。默认为 |
|
|
记录发送到Web Inspector和从Web Inspector接收的所有通信,以原始十六进制转储和可打印字符的形式记录。此日志记录是在进行任何数据操作之前完成的,因此可以阐明一些通信问题。像一样 |
|
|
要发送到iOS 11+实际设备上的Web Inspector的数据大小(以字节为单位)。将大量数据发送到Web Inspector时,某些设备会挂起,将它们拆分成较小的部分可能会有所帮助。默认为 |
例如, |
|
Web视图的可能捆绑标识符的数组(或JSON数组)。如果发现Web检查器正在返回该应用程序的已修改包标识符,有时这是必要的。默认为 |
例如, |