Appium 服务器初始化参数(Capability)

记录下appium文档关键字,方便查找:

https://appium.io/docs/cn/writing-running-appium/caps/#xcuitestios

描述

automationName

自动化测试的引擎

Appium (默认)或者 Selendroid

platformName

使用的手机操作系统

iOSAndroid, 或者 FirefoxOS

platformVersion

手机操作系统的版本

例如 7.14.4

deviceName

使用的手机或模拟器类型

iPhone SimulatoriPad SimulatoriPhone Retina 4-inchAndroid EmulatorGalaxy S4, 等等.... 在 iOS 上,使用 Instruments 的 instruments -s devices 命令可返回一个有效的设备的列表。在 Andorid 上虽然这个参数目前已被忽略,但仍然需要添加上该参数

app

本地绝对路径_或_远程 http URL 所指向的一个安装包(.ipa,.apk,或 .zip 文件)。Appium 将其安装到合适的设备上。请注意,如果您指定了 appPackage 和 appActivity 参数(见下文),Android 则不需要此参数了。该参数也与 browserName 不兼容。

/abs/path/to/my.apk 或 http://myapp.com/app.ipa

browserName

做自动化时使用的浏览器名字。如果是一个应用则只需填写个空的字符串

'Safari' 对应 iOS,'Chrome', 'Chromium', 或 'Browser' 则对应 Android

newCommandTimeout

用于客户端在退出或者结束 session 之前,Appium 等待客户端发送一条新命令所花费的时间(秒为单位)

例如 60

language

(Sim/Emu-only) 为模拟器设置语言

例如 fr

locale

(Sim/Emu-only) 为模拟器设置所在区域

例如 fr_CA

udid

连接真机的唯一设备号

例如 1ae203187fc012g

orientation

(Sim/Emu-only) 模拟器当前的方向

竖屏 或 横屏

autoWebview

直接转换到 Webview 上下文(context)。默认值为 false

truefalse

noReset

在当前 session 下不会重置应用的状态。默认值为 false

truefalse

fullReset

(iOS)删除所有的模拟器文件夹。(Android) 要清除 app 里的数据,请将应用卸载才能达到重置应用的效果。在 Android, 在 session 完成之后也会将应用卸载掉。默认值为 false

truefalse

Android 独有

描述

appActivity

Activity 的名字是指从你的包中所要启动的 Android acticity。他通常需要再前面添加. (例如 使用 .MainActivity 代替 MainActivity

MainActivity.Settings

appPackage

运行的 Android 应用的包名

com.example.android.myAppcom.android.settings

appWaitActivity

用于等待启动的 Android Activity 名称

SplashActivity

appWaitPackage

用于等待启动的 Android 应用的包

com.example.android.myAppcom.android.settings

appWaitDuration

用于等待 appWaitActivity 启动的超时时间(以毫秒为单位)(默认值为 20000)

30000

deviceReadyTimeout

用于等待模拟器或真机准备就绪的超时时间

5

androidCoverage

用于执行测试的 instrumentation 类。 传送 -w 参数到如下命令 adb shell am instrument -e coverage true -w

com.my.Pkg/com.my.Pkg.instrumentation.MyInstrumentation

enablePerformanceLogging

(仅适用于 Chrome 与 webview)开启 Chromedriver 的性能日志。(默认值为 false

truefalse

androidDeviceReadyTimeout

用于等待设备在启动应用后准备就绪的超时时间。以秒为单位。

例如 30

androidInstallTimeout

用于等待在设备中安装 apk 所花费的时间(以毫秒为单位)。默认值为 90000

例如 90000

adbPort

用来连接 ADB 服务器的端口(默认值为 5037

5037

androidDeviceSocket

开发工具的 socket 名称。只有在被测应用是一个使用 Chromium 内核的浏览器时才需要。socket 会被浏览器打开,然后 Chromedriver 把它作为开发者工具来进行连接。

例如 chrome_devtools_remote

avd

被启动 avd 的名字

例如 api19

avdLaunchTimeout

用于等待 avd 启动并连接 ADB 的超时时间(以毫秒为单位),默认值为 120000

300000

avdReadyTimeout

用于等待 avd 完成启动动画的超时时间(以毫秒为单位),默认值为 120000

300000

avdArgs

启动 avd 时使用的额外参数

例如 -netfast

useKeystore

使用自定义的 keystore 给 apk 签名,默认值为 false

truefalse

keystorePath

自定义 keystore 的路径, 默认路径为 ~/.android/debug.keystore

例如 /path/to.keystore

keystorePassword

自定义 keystore 的密码

例如 foo

keyAlias

key 的别名

例如 androiddebugkey

keyPassword

key 的密码

例如 foo

chromedriverExecutable

webdriver 可执行文件的绝对路径(如果 Chromium 内嵌一个自己提供的 webdriver,则应使用他去替换掉 Appium 自带的 chromedriver)

/abs/path/to/webdriver

autoWebviewTimeout

用于等待 Webview 上下文(context)激活的时间(以毫秒为单位)。默认值为 2000

例如 4

intentAction

用于启动 activity 的 intent action(默认值为 android.intent.action.MAIN)

例如 android.intent.action.MAINandroid.intent.action.VIEW

intentCategory

用于启动 activity 的 intent category。(默认值为 android.intent.category.LAUNCHER)

例如 android.intent.category.LAUNCHERandroid.intent.category.APP_CONTACTS

intentFlags

用于启动 activity 的标识(flags)(默认值为 0x10200000

例如 0x10200000

optionalIntentArguments

用于启动 activity 的额外 intent 参数。请查看 Intent 参数

例如 --esn --ez , 等等。

dontStopAppOnReset

在使用 adb 启动应用之前,不要终止被测应用的进程。如果被测应用是被其他钩子(anchor)应用所创建的,设置该参数为 false 后,就允许钩子(anchor)应用的进程在使用 adb 启动被测应用期间仍然存在。换而言之,设置 dontStopAppOnReset 为 true 后,我们在 adb shell am start 的调用中不需要包含 -S标识(flag)。忽略该 capability 或 设置为 false 的话,就需要包含 -S 标识(flag)。默认值为 false

truefalse

unicodeKeyboard

使用 Unicode 输入法。 默认值为 false

truefalse

resetKeyboard

在设定了 unicodeKeyboard 关键字的 Unicode 测试结束后,重置输入法到原有状态。如果单独使用,将会被忽略。默认值为 false

truefalse

noSign

跳过检查和对应用进行 debug 签名的步骤。仅适用于 UiAutomator,不适用于 selendroid。 默认值为 false

truefalse

ignoreUnimportantViews

调用 uiautomator 的函数 setCompressedLayoutHierarchy()。由于 Accessibility 命令在忽略部分元素的情况下执行速度会加快,这个关键字能加快测试执行的速度。被忽略的元素将不能够被找到,因此这个关键字同时也被实现成可以随时改变的 设置 ( settings )。 默认值为 false

true 或 false

disableAndroidWatchers

禁用 android 监视器(watchers)。监视器用于见识应用程序的无响应状态(anr)和崩溃(crash),禁用会降低 Android 设备或模拟器的 CPU 使用率。该 capability 仅在使用 UiAutomator 时有效,不适用于 selendroid,默认设置为 false

true 或 false

chromeOptions

允许对 ChromeDriver 传 chromeOptions 的参数。了解更多信息请查阅 chromeOptions

chromeOptions: {args: ['--disable-popup-blocking']}

recreateChromeDriverSessions

当移除非 ChromeDriver webview时,终止掉 ChromeDriver 的 session。默认设置为 false

truefalse

nativeWebScreenshot

在 web 的上下文(context),使用原生(native)的方法去截图,而不是用过代理的 ChromeDriver。默认值为 false

truefalse

androidScreenshotPath

在设备中截图被保存的目录名。默认值为 /data/local/tmp

例如 /sdcard/screenshots/

autoGrantPermissions

让Appium自动确定您的应用需要哪些权限,并在安装时将其授予应用。默认设置为 false

truefalse

iOS 独有

描述

calendarFormat

(仅支持模拟器) 为iOS的模拟器设置日历格式

例如 gregorian

bundleId

被测应用的 bundle ID 。用于在真实设备中启动测试,也用于使用其他需要 bundle ID 的关键字启动测试。在使用 bundle ID 在真实设备上执行测试时,你可以不提供 app 关键字,但你必须提供 udid 。

例如 io.appium.TestApp

udid

连接的真实设备的唯一设备编号 (Unique device identifier)

例如 1ae203187fc012g

launchTimeout

以毫秒为单位,在 Appium 运行失败之前设置一个等待 instruments 的时间

例如 20000

locationServicesEnabled

(仅支持模拟器)强制打开或关闭定位服务。默认值是保持当前模拟器的设定.

truefalse

locationServicesAuthorized

(仅支持模拟器)通过修改 plist 文件设定是否允许应用使用定位服务,从而避免定位服务的警告出现。默认值是保持当前模拟器的设定。请注意在使用这个关键字时,你同时需要使用 bundleId 关键字来发送你的应用的 bundle ID。

truefalse

autoAcceptAlerts

当警告弹出的时候,都会自动去点接受。包括隐私访问权限的警告(例如 定位,联系人,照片)。默认值为 false。不支持基于 XCUITest 的测试。

truefalse

autoDismissAlerts

当警告弹出的时候,都会自动去点取消。包括隐私访问权限的警告(例如 定位,联系人,照片)。默认值为 false。不支持基于 XCUITest 的测试。

truefalse

nativeInstrumentsLib

使用原生 intruments 库(即关闭 instruments-without-delay)。

truefalse

nativeWebTap

(仅支持模拟器)在Safari中允许“真实的",非基于 javascript 的 web 点击 (tap) 。 默认值:false。注意:取决于 viewport 大小/比例, 点击操作不一定能精确地点中对应的元素。

truefalse

safariInitialUrl

(仅支持模拟器) (>= 8.1) 初始化 safari 的时使用的地址。默认是一个本地的欢迎页面

例如 https://www.github.com

safariAllowPopups

(仅支持模拟器)允许 javascript 在 Safari 中创建新窗口。默认保持模拟器当前设置。

truefalse

safariIgnoreFraudWarning

(仅支持模拟器)阻止 Safari 显示此网站可能存在风险的警告。默认保持浏览器当前设置。

truefalse

safariOpenLinksInBackground

(仅支持模拟器)Safari 是否允许链接在新窗口打开。默认保持浏览器当前设置。

truefalse

keepKeyChains

(仅支持模拟器)当 Appium 会话开始/结束时是否保留存放密码存放记录 (keychains) 库(Library)/钥匙串(Keychains))

truefalse

localizableStringsDir

从哪里查找本地化字符串。默认值为 en.lproj

en.lproj

processArguments

通过 instruments 传递到 AUT 的参数

例如 -myflag

interKeyDelay

以毫秒为单位,按下每一个按键之间的延迟时间

例如 100

showIOSLog

是否在 Appium 的日志中显示设备的日志。默认值为 false

truefalse

sendKeyStrategy

输入文字到文字框的策略。模拟器默认值:oneByOne(一个接着一个)。真实设备默认值:grouped (分组输入)

oneByOnegroupedsetValue

screenshotWaitTimeout

以秒为单位,生成屏幕截图的最长等待时间。默认值为:10

例如 5

waitForAppScript

用于判断 "应用是否被启动” 的 iOS 自动化脚本代码。默认情况下系统等待直到页面内容非空。结果必须是布尔类型。

例如 true;target.elements().length > 0;$.delay(5000); true;

webviewConnectRetries

用于获取 webview 失败时,发送连接信息到远程调试器的次数。默认次数为: 8

例如 12

appName

被测应用的名字。 用于支持 iOS 9 以上系统的应用的自动化。

例如 UICatalog

customSSLCert

(Sim/Emu-only) 给模拟器添加一个 SSL 证书。

例如
-----BEGIN CERTIFICATE-----MIIFWjCCBEKg...
-----END CERTIFICATE-----

使用 XCUITest(iOS 独有)

描述

processArguments

将会传送到 WebDriverAgent 的进程参数与环境

{ args: ["a", "b", "c"] , env: { "a": "b", "c": "d" } } 或 '{"args": ["a", "b", "c"], "env": { "a": "b", "c": "d" }}'

wdaLocalPort

如果这个值被指定了,Mac 主机就会使用这个端口,通过 USB 发送数据到 iOS 设备中。默认的端口与 iOS 设备中 WDA 的端口号是一致的。

例如 8100

showXcodeLog

是否显示运行测试时 Xcode 的输出日志,如果值设置为 true ,则会在启动的时候产生大量的额外日志。默认设置为 false

例如 true

iosInstallPause

安装应用程序与启动 WebDriverAgent 之间停止的间隔时间(以毫秒为单位),特别适用于体积较大的包。默认是设置为 0

例如 8000

xcodeConfigFile

一个可选的 Xcode 可配置文件的完整路径,用于指定在真机上运行 WebDriverAgent 的个人身份或者团队身份的代码签名。

例如 /path/to/myconfig.xcconfig

keychainPath

从系统的 keychain 中导出私有开发秘钥的完整路径。在真机测试时与 keychainPassword 配合使用。

例如 /path/to/MyPrivateKey.p12

keychainPassword

在 keychainPath 中指定 keychain 的解锁密码。

例如 super awesome password

scaleFactor

模拟器缩放因子。这对于默认分辨率是大于实际分辨的模拟器来说非常有用。因此,你不用上下滑动模拟器的屏幕就能看到所有模拟器显示的内容了。

可接受的值为: '1.0', '0.75', '0.5', '0.33' 和 '0.25'。 这些值都应该是一个字符串

preventWDAAttachments

设置 WebDriverAgent 项目中的 DerivedData 文件夹的权限为仅可读。为了防止 XCTest 框架产生大量无用的截屏与日志,该设置是非常必要的,因为这是不可能通过 Apple 提供的接口去关闭的。

设置 capabilitity 为 true 将会设置 Posix 的文件夹的权限为 555,设置为 false 则会将权限重置回 755

webDriverAgentUrl

若提供了 URL,Appium 将在这 URL 上连接现有的 WebDriverAgent 实例,而不是重新启动一个。

例如 http://localhost:8100

useNewWDA

若设置为 true,则直接卸载设备上现存的所有 WebDriverAgent 客户端。在某些情况,该做法可以提高稳定性。默认设置为 false

例如 true

wdaLaunchTimeout

等待 WebDriverAgent 可 ping 同的时间(以毫秒为单位)。默认设置为 60000ms。

例如 30000

calendarAccessAuthorized

若设置为 true,则允许在 iOS 模拟器上访问日历。若设置为 false,则不被允许。否则,日历的 authorizationStatus 会保持不变。

-

You.i 引擎独有

描述

youiEngineAppAddress

正在运行的应用的设备的 IP 地址。使用 localhost 作为模拟地址。使用 localhost 作为模拟器地址。使用设备的 IP 地址作为真机的 IP。

例如 localhost 或 192.168.1.203

WinAppDriver 独有

描述

platformName

运行测试时所在的平台

例如 Windows

deviceName

运行测试时所使用设备的名字

例如 WindowsPC

app

被测 windows 应用的 appID 或被测的 .exe 文件的路径。 查阅该文档可了解更多查找 appID 的详细方法。

例如 c24c8163-548e-4b84-a466-530178fc0580_scyf5npe3hv32!App

 

WebDriverAgent的构建和运行功能:

能力

描述

价值观

xcodeOrgId

Apple开发人员团队标识符字符串。必须结合使用xcodeSigningId才能生效。

例如, JWL241K123

xcodeSigningId

表示签名证书的字符串。必须与结合使用xcodeOrgId。通常是iPhone Developer,因此默认值(如果不包括)为iPhone Developer

例如, iPhone Developer

xcodeConfigFile

可选Xcode配置文件的完整路径,该文件指定WebDriverAgent在实际设备上运行的代码签名标识和组。

例如, /path/to/myconfig.xcconfig

updatedWDABundleId

捆绑包ID,用于在实际设备上构建和启动之前将WDA更新为。该捆绑包ID 必须与有效的配置文件关联。

例如, io.appium.WebDriverAgentRunner

keychainPath

从系统钥匙串导出的专用开发密钥的完整路径。与keychainPassword在真实设备上进行测试时结合使用。

例如, /path/to/MyPrivateKey.p12

keychainPassword

中指定的用于解锁钥匙串的密码keychainPath

例如, super awesome password

derivedDataPath

usePrebuiltWDA功能一起使用,并选择在何处搜索现有WDA应用程序。如果未设置此功能,则Xcode会将派生的数据存储在从首选项中获取的默认根目录中。

 

webDriverAgentUrl

如果提供,Appium将通过WebDriverAgent此URL 连接到现有实例,而不是启动新实例。

例如, http://localhost:8100

useNewWDA

如果为true,则强制卸载设备上任何现有的WebDriverAgent应用程序。true如果要WebDriverAgent为每个会话应用不同的启动选项,请将其设置为。虽然,它只能保证在Simulator上稳定工作。实际设备要求WebDriverAgent客户端在不重新安装/重新启动的情况下尽可能长时间运行,以避免出现https://github.com/facebook/WebDriverAgent/issues/507之类的问题。该false值(自驱动程序2.35.0版以来的默认行为)将尝试检测由先前测试会话执行的当前正在运行的WDA侦听器,并在可能的情况下重新使用它,强烈建议在实际设备测试中使用该值,并加快多个组件的速度一般测试。新的WDA会话将在默认URL(http:// localhost:8100),如果WDA没有监听并且webDriverAgentUrl未设置功能。useNewWDA在xcuitest驱动程序2.35.0之前,功能的负值/未设置值无效。

例如, true

wdaLaunchTimeout

等待WebDriverAgent可ping通的时间(以毫秒为单位)。默认为60000ms

例如, 30000

wdaConnectionTimeout

超时,以毫秒为单位,用于等待的响应WebDriverAgent。默认为240000ms

例如, 1000

wdaStartupRetries

尝试WebDriverAgent在设备上构建和启动的次数。默认为2。

例如, 4

wdaStartupRetryInterval

在尝试构建和启动之间等待的时间(以毫秒为单位)WebDriverAgent。默认为10000ms

例如, 20000

wdaLocalPort

如果指定了此值,将用于通过USB将流量从Mac主机转发到真实的ios设备。默认值与WDA在设备上使用的端口号相同。

例如, 8100

wdaBaseUrl

如果指定了此值,将用作构建自定义WebDriverAgentURL 的前缀。它与有所不同webDriverAgentUrl,因为如果设置了后者,则它预期WebDriverAgent已经在侦听并跳过构建阶段。默认为http://localhost

例如, http://192.168.1.100

showXcodeLog

是否显示用于运行测试的Xcode命令的输出。如果是true,则在启动时会有很多额外的日志记录。默认为false

例如, true

iosInstallPause

在安装应用程序和WebDriverAgent在设备上启动之间暂停的时间(以毫秒为单位)。特别用于大型应用。默认为0

例如, 8000

usePrebuiltWDA

跳过运行WDA应用程序的构建阶段。建造是用户的责任。仅适用于Xcode 8+。默认为false

例如, true

useCarthageSsl

使用SSL下载的依赖项WebDriverAgent。默认为true

true, false

shouldUseSingletonTestManager

在中使用默认代理进行测试管理WebDriverAgent。将此设置false有时会有助于解决套接字挂起问题。默认为true

例如, false

useXctestrunFile

使用Xctestrun文件启动WDA。它将在中搜索此类文件bootstrapPath。文件的预期名称WebDriverAgentRunner_iphoneos-arm64.xctestrun适用于真实设备和WebDriverAgentRunner_iphonesimulator-x86_64.xctestrun模拟器。一个可以为模拟器和真实设备build-for-testing进行的WebDriverAgent项目,然后您将看到“ Product Folder”(产品文件夹),并且需要在该bootstrapPath位置复制该文件夹的内容。由于此功能期望您已经构建了WDA项目,因此它既不会检查您是否具有必要的依赖关系来构建,WDA也不会尝试构建项目。默认为false提示:Xcodebuild为目标平台版本构建。我们建议您使用要作为原始WDA模块运行的最低OS版本进行构建。例如,如果为12.2构建WDA,则由于在模拟器上加载某些模块错误,导致模块无法在iOS 11.4上运行。使用11.4构建的模块可以在iOS 12.2上运行。(这是xcodebuild的预期行为。)

例如, true

useSimpleBuildTest

建立与build使用和运行试验test在xcodebuild联编的所有版本的Xcode如果是true,或建立具有build-for-testing与运行测试test-without-building超过Xcode中8,如果这是false。默认为false

true 要么 false

wdaEventloopIdleDelay

将调用延迟-[XCUIApplicationProcess setEventLoopHasIdled:]此功能指定的秒数。这可以帮助没有明显原因的静态应用失败(并且由于该原因创建会话失败)。由于-[XCUIApplicationProcess setEventLoopHasIdled:]多次调用,因此增加了会话创建的时间。如果启用此功能,请至少从3几秒钟开始,然后尝试增加该功能(如果创建会话仍然失败)。默认为0

例如 5

processArguments

进程参数和环境将被发送到WebDriverAgent服务器。

{ args: ["a", "b", "c"] , env: { "a": "b", "c": "d" } } 要么 '{"args": ["a", "b", "c"], "env": { "a": "b", "c": "d" }}'

autoLaunch

设置false为时,将防止在新会话启动过程中自动启动被测应用程序。发射成为用户的责任。默认为true

true 要么 false

模拟器控制功能:

能力

描述

价值观

scaleFactor

模拟器比例因子。如果模拟设备的默认分辨率大于实际显示分辨率,这很有用。因此,您可以缩放模拟器以查看整个设备屏幕,而无需滚动。

运行Xcode SDK 8和更早版本的模拟器的可接受值为:'1.0', '0.75', '0.5', '0.33' and '0.25',其中“ 1.0”表示100%缩放。对于运行Xcode SDK 9及更高版本的模拟器,该值可以是任何有效的正浮点数。该功能必须是字符串类型。

connectHardwareKeyboard

将此选项设置为true以便在模拟器中启用硬件键盘。它false默认设置为,因为这有助于解决一些XCTest错误。

true 要么 false

calendarAccessAuthorized

将其设置为true,如果要启用给定bundleId在IOS模拟器日历访问。false如果要使用给定的bundleId禁用IOS Simulator上的日历访问,请设置为。如果未设置,则不会设置日历授权状态。

例如, true

isHeadless

将此功能设置为:true如果自动测试正在模拟器上运行,并且不需要显示设备显示。自Xcode9起,这仅对模拟器有效。如果开始无头测试,则所有正在运行的Simulator UI实例将自动终止。false是默认值。

例如, true

simulatorWindowCenter

允许为Xcode9 + SDK明确设置模拟器窗口中心的坐标。仅当尚未在当前会话开始之前为当前会话打开“模拟器”窗口时,此功能才有效。

例如{-100.0,100.0}{500,500},不允许使用空格

shutdownOtherSimulators

如果将此功能设置为true,并且当前测试的设备是iOS模拟器,则Appium将尝试在启动新会话之前关闭所有其他正在运行的模拟器。在不同设备上执行Webview测试时,这可能很有用,因为由于Apple错误,一次只能调试一个设备。仅当--relaxed-security向服务器提供命令行参数时,此功能才有效。默认为false

例如 true

enforceFreshSimulatorCreation

在会话创建中创建一个新的模拟器,并在会话删除中将其删除。默认为false

true 要么 false

keepKeyChains

将功能设置为true,以便在完全重置后保留Simulator钥匙串文件夹。此功能对实际设备不起作用。默认为false

例如 true

keychainsExcludePatterns

此功能接受逗号分隔的路径模式,当在Simulator上执行完全重置时,这些路径模式将不包含在钥匙串还原中。如果您只想排除特定的钥匙串类型,例如应用程序钥匙串,则可能会很有用。此功能对实际设备不起作用。

例如*keychain*.db*,从恢复中排除应用程序钥匙串

reduceMotion

它允许打开/关闭减少运动辅助功能偏好。设置reduceMotion on有助于减少测试期间的片状感。仅在模拟器上

例如 true

permissions

仅允许在Simulator上为指定的应用程序捆绑包设置权限。功能值应为{"": {"": "", ...}, ...}格式正确的有效JSON字符串。要求applesimutils安装该软件包并在PATH中提供该软件包。可用服务名称和状态的列表可以在https://github.com/wix/AppleSimulatorUtils上找到。

例如 {"com.apple.mobilecal": {"calendar": "YES"}}

iosSimulatorLogsPredicate

--predicate在ios模拟器日志中设置标志

例如: 'process != "locationd" AND process != "DTServiceHub"' AND process != "mobileassetd"

常规功能:

能力

描述

价值观

resetOnSessionStartOnly

是否在测试会话完成(false)上执行重置(true)。将此变量设置为true并运行Simulator(自1.6.4版以来的默认行为)可能会大大缩短测试会话初始化的持续时间。

无论是truefalse。默认为true

commandTimeouts

WDA后端命令执行的自定义超时(以毫秒为单位)。如果WDA后端意外冻结或需要太多时间才能失败并阻止自动测试执行,则这可能很有用。该值应为字符串类型,可以包含最大毫秒数以等待每个WDA命令执行,然后强制终止会话,也可以包含有效的JSON字符串,其中的键是内部Appium命令名称(您可以在日志中找到这些名称,查找“执行命令'command_name'”记录),值是超时(以毫秒为单位)。您还可以设置“默认”键,为未明确列举为JSON键的所有其他命令分配超时。

'120000', '{"findElement": 40000, "findElements": 40000, "setValue": 20000, "default": 120000}'

maxTypingFrequency

击键和清除的最大击键频率。如果由于键入错误而导致测试失败,则可能需要进行调整。默认为每分钟60次击键。

例如, 30

simpleIsVisibleCheck

使用本机方法确定元素的可见性。在某些情况下,这需要很长时间。将此功能设置为false会导致系统使用元素的位置和大小来确保它们在屏幕上可见。但是,在某些情况下,这可能导致错误的结果。false除iOS 9.3(默认为)外,默认为true

例如truefalse

absoluteWebLocations

此功能将指导Get Element Location命令在Web视图中使用时返回相对于页面原点而不是相对于当前滚动偏移量的坐标。此功能在Web视图之外无效。默认false

例如, true

useJSONSource

从WDA获取JSON源,并在Appium服务器上解析为XML。这可以更快,尤其是在大型设备上。默认为false

例如, true

mjpegServerPort

WDA在其上广播被测设备编码为MJPEG格式的屏幕快照流的端口号。如果默认端口由于其他并行运行的测试而繁忙,则可能需要更改此值。默认值:9100

例如 12000

waitForQuiescence

它允许WebDriverAgent在执行查询时打开/关闭等待中的应用程序静止。默认值为true。如果将其关闭,则可以避免此类问题。

例如 false

screenshotQuality

根据xctest / xctimagequality更改电话显示屏幕截图的质量。 默认值为10是最高的,2是最低的质量。您也可以通过设置命令进行更改。0可能会在iPad Pro等高分辨率设备上导致OutOfMemory崩溃。

例如012

skipLogCapture

跳过以开始捕获日志,例如崩溃,系统,safari控制台和safari网络。它可能会改善网络等性能。与日志相关的命令将不起作用。默认为false

true 要么 false

safariGarbageCollect

在Safari上执行脚本时,打开/关闭Web Inspector垃圾收集。打开可能会提高性能。默认为false

true 要么 false

includeSafariInWebviews

将Safari Web上下文添加到本机/ Webview应用程序测试期间可用的上下文列表中。如果测试打开了Safari并且需要能够与它进行交互,这将非常有用。默认为false

true 要么 false

appPushTimeout

应用程序上载的超时时间(以毫秒为单位)。仅适用于真实设备。默认值为30000ms

例如 60000

safariLogAllCommunication

以纯文本格式记录发送到Web Inspector以及从Web Inspector接收的所有插件。对于某些操作,这可能会包含大量数据,因此建议仅在必要时使用。默认为false

true 要么 false

safariLogAllCommunicationHexDump

记录发送到Web Inspector和从Web Inspector接收的所有通信,以原始十六进制转储和可打印字符的形式记录。此日志记录是在进行任何数据操作之前完成的,因此可以阐明一些通信问题。像一样safariLogAllCommunication,在某些情况下会产生大量数据,因此建议仅在必要时使用。默认为false

true 要么 false

safariSocketChunkSize

要发送到iOS 11+实际设备上的Web Inspector的数据大小(以字节单位)。将大量数据发送到Web Inspector时,某些设备会挂起,将它们拆分成较小的部分可能会有所帮助。默认为16384(也是最大可能值)

例如, 1000

additionalWebviewBundleIds

Web视图的可能捆绑标识符的数组(或JSON数组)。如果发现Web检查器正在返回该应用程序的已修改包标识符,有时这是必要的。默认为[]

例如, ['io.appium.modifiedId', 'ABCDEF']

 

 

你可能感兴趣的:(appium)