appActivity |
要从包中启动的Android活动的活动名称;这通常需要在前面加一个标记a. ;(例如,MainActivity 代替MainActivity );默认情况下,此功能从包清单接收(操作:android.intent.action操作.MAIN,类别:android.intent.category类别(发射器 ) |
MainActivity, .Settings |
appPackage |
要运行的Android应用程序的Java包;默认情况下,此功能从包清单(@package attribute value)接收 |
com.example.android.myApp, com.android.settings |
appWaitActivity |
活动名称,逗号分隔,用于您要等待的Android活动;默认情况下,此功能的值与appActivity 的值相同;如果您的功能具有appActivity 和appPackage ,则必须将其设置为第一个关注的应用程序活动名称,以防它与设置为appActivity 的名称不同;也可以使用通配符(* ) |
SplashActivity, SplashActivity,OtherActivity, *, *.SplashActivity |
appWaitPackage |
您要等待的Android应用程序的Java包;默认情况下,此功能的值与appActivity 的值相同 |
com.example.android.myApp, com.android.settings |
appWaitDuration |
用于等待appWaitActivity启动的超时(毫秒)(默认值为20000 ) |
30000 |
deviceReadyTimeout |
等待设备准备就绪时超时(秒) |
5 |
allowTestPackages |
允许安装具有android:testOnly="true" ;默认为false
|
true ,false
|
androidCoverage |
完全合格的仪器等级;传递给adb shell am instrument中的-w-e覆盖范围真-w |
com.my.Pkg/com.my.Pkg.instrumentation.MyInstrumentation |
androidCoverageEndIntent |
由您自己实现的广播操作,用于将覆盖率转储到文件系统中。在adb shell am广播-a中传递给-a |
com.example.pkg.END_EMMA |
androidDeviceReadyTimeout |
用于等待设备在引导后准备就绪的超时(以秒为单位) |
e.g., 30
|
androidInstallTimeout |
用于等待apk安装到设备的超时(毫秒);默认为90000
|
e.g., 90000
|
androidInstallPath |
安装前将在其中推送apk的设备上的目录的名称;默认为/data/local/tmp
|
e.g. /sdcard/Downloads/
|
adbPort |
用于连接ADB服务器的端口(默认5037 ) |
e.g.,5037
|
systemPort |
systemPort 用于连接到appium-uiautomator2-server或appium espresso驱动程序的系统端口;默认值通常是8200 ,对于appium-uiautomator2-server,选择8200 到8299 之间的一个端口,对于appium espresso driver,选择8300 到8399 之间的8300 ;并行运行测试时,必须调整端口以避免冲突;参考
|
e.g.,8201
|
remoteAdbHost |
可选的远程ADB服务器主机 |
e.g.: 192.168.0.101 |
androidDeviceSocket |
Devtools套接字名称;仅当测试的应用程序是Chromium嵌入浏览器时才需要;套接字由浏览器打开,Chromedriver作为devtools客户端连接到它 |
e.g., chrome_devtools_remote
|
avd |
要启动的avd名称 |
e.g., api19
|
avdLaunchTimeout |
vd启动和连接到ADB的等待时间(毫秒)(默认60000 ) |
30000 |
avdReadyTimeout |
avd启动和连接到ADB的等待时间(毫秒)(默认120000 ) |
300000 |
avdArgs |
启动avd时使用的其他仿真器参数 |
e.g., -netfast
|
useKeystore |
使用自定义密钥库对apk进行签名,默认值为false
|
true ,false
|
keystorePath |
自定义密钥库的路径,默认~/.android/调试密钥库 |
e.g., /path/to.keystore
|
keystorePassword |
自定义密钥库的密码 |
e.g.,foo
|
keyAlias |
密钥别名 |
e.g., androiddebugkey
|
keyPassword |
Password for key |
e.g.,foo
|
chromedriverExecutable |
webdriver可执行文件的绝对本地路径(如果ChromeMbedder提供了自己的webdriver,则应该使用它,而不是与Appium捆绑的原始chromedriver) |
/abs/path/to/webdriver |
chromedriverArgs |
应用程序运行chromedriver二进制文件时要传递给它的参数数组;默认情况下,除了Appium内部使用的参数(例如--url base 、--port 、--adb port 和--log path ),不会添加任何CLI参数 |
e.g.,["--disable-gpu", "--disable-web-security"]
|
chromedriverExecutableDir |
查找Chromedriver可执行文件的目录的绝对路径,用于自动发现兼容的Chromedriver。如果chromedriverUseSystemExecutable 为true ,则忽略 |
/abs/path/to/chromedriver/directory |
chromedriverChromeMappingFile |
将Chromedriver版本映射到其支持的最低Chrome的文件的绝对路径;如果chromedriverUseSystemExecutable 为true ,则忽略 |
/abs/path/to/mapping.json |
chromedriverUseSystemExecutable |
如果为true ,则绕过自动ChromedriverExecutable 设置,并使用Appium附带的版本;如果设置了ChromedDriverExecutable ,则忽略该选项;默认为false
|
e.g., true
|
autoWebviewTimeout |
等待Webview上下文变为活动状态的时间量(毫秒);默认值为2000
|
e.g.4
|
chromedriverPort |
启动Chromedriver的数字端口;请注意,不鼓励使用此功能,因为如果存在多个Web视图,它将导致未定义的行为;默认情况下,Appium将找到一个空闲端口 |
e.g. 8000
|
chromedriverPorts |
Appium用于与ChromeDriver通信的有效端口列表。此功能支持多种webview方案。此功能的形式是一个数字端口数组,其中数组项本身可以是长度为2的数组,其中第一个元素是包含范围的开始,第二个元素是结束;默认情况下,Appium将使用任何空闲端口 |
e.g.[8000, [9000, 9005]]
|
ensureWebviewsHavePages |
Appium是否应该用页面检测来增强其webview检测,以保证上下文列表中显示的任何webview上下文都有活动页面。如果选择了Chromedriver找不到任何页面的上下文,这可以防止出现错误;默认为false
|
e.g. true
|
webviewDevtoolsPort |
要支持ensureWebviewsHavePages 功能,必须打开一个TCP端口,以便与被测设备上的webview进行通信。如果多个会话同时运行(以避免端口冲突),或者默认端口不适合您的系统,此功能允许覆盖默认端口9222
|
e.g. 9543
|
enableWebviewDetailsCollection |
从Appium 1.18.0+开始,通过/json/version CDP(Chrome Developer Protocol)端点收集详细的WebView信息;这有助于正确匹配支持给定WebView的Chromedriver版本;如果不启用此标志,Appium将尝试根据相应安装包的版本猜测WebView的版本(对于自定义web fails,这通常会失败);默认为false
|
true or false
|
dontStopAppOnReset |
在使用adb启动应用程序之前,不停止正在测试的应用程序的进程;如果测试中的应用程序是由另一个锚应用程序创建的,则将此设置为false将允许锚应用程序的进程在使用adb的测试应用程序启动期间仍然处于活动状态;换句话说,当dontstopapnreset 设置为true 时,我们将不在adb shell am start 调用中包含-S 标志;如果忽略此功能或将其设置为false ,则包含-S 标志;默认值false
|
true or false |
unicodeKeyboard |
启用Unicode输入,默认为false
|
true or false
|
resetKeyboard |
使用unicodeKeyboard 功能运行Unicode测试后,将键盘重置为其原始状态;如果单独使用则忽略;默认值false
|
true orfalse
|
noSign |
跳过对带有调试密钥的应用程序的检查和签名,将仅适用于UiAutomator,默认为false
|
true or false
|
ignoreUnimportantViews |
调用setCompressedLayoutHierarchy() uiautomator函数;此功能可以加快测试执行速度,因为可访问性命令将在忽略某些元素的情况下运行得更快;被忽略的元素将不可查找,这就是为什么此功能也被实现为可切换设置以及功能的原因;默认为false
|
true or false
|
disableAndroidWatchers |
禁用监视应用程序无响应和应用程序崩溃的android观察程序,这将减少android设备/仿真器上的cpu使用;此功能仅适用于UiAutomator,默认为false
|
true orfalse
|
chromeOptions |
允许ChromeDriver传递chromeOptions功能;chromeOptions
|
chromeOptions: {args: ['--disable-popup-blocking']} |
recreateChromeDriverSessions |
移动到非ChromeDriver webview时终止ChromeDriver会话;默认为false |
true or false |
nativeWebScreenshot |
在web环境中,使用本机(adb)方法拍摄屏幕截图,而不是代理到ChromeDriver;默认为false
|
true orfalse
|
androidScreenshotPath |
设备上放置屏幕截图的目录的名称;默认为/data/local/tmp
|
e.g./sdcard/screenshots/
|
autoGrantPermissions |
让Appium自动确定您的应用程序需要哪些权限,并在安装时将这些权限授予应用程序;默认为false;如果noReset为真,则此功能不起作用 |
true or false |
networkSpeed |
设置网络速度模拟;指定最大网络上载和下载速度;默认为“完全” |
['full','gsm', 'edge', 'hscsd', 'gprs', 'umts', 'hsdpa', 'lte', 'evdo'] Check -netspeed option more info about speed emulation for avds |
gpsEnabled |
在启动会话之前切换模拟器的gps位置提供程序;默认情况下,emulator将根据其配置方式启用或不启用此选项 |
true orfalse
|
isHeadless |
当设备显示不需要可见时,将此功能设置为true 以运行Emulator headless;false 是默认值;ISEADRESS还支持iOS,检查XUITEST特定功能 |
e.g., true
|
adbExecTimeout |
用于等待adb命令执行的超时(毫秒);默认值为20000
|
e.g., 50000
|
localeScript |
Sets the locale script
|
e.g., "Cyrl" (Cyrillic)
|
skipDeviceInitialization |
跳过设备初始化,包括:安装和运行设置应用程序或设置权限;当设备已经用于自动化并且为下一个自动化做好准备时,可以用来提高启动性能;默认为false
|
true orfalse
|
chromedriverDisableBuildCheck |
设置chromedriver标志--disable-build-check 用于Chrome webview测试 |
true or false |
skipUnlock |
在会话创建期间跳过解锁;默认为false
|
true or false
|
unlockType |
用特定的锁定模式解锁目标设备,而不是仅仅用助手应用程序唤醒设备;它具有unlockkey 功能;默认为未定义;fingerprint 仅适用于Android 6.0+和模拟器;unlock doc
|
['pin', 'password', 'pattern', 'fingerprint'] |
unlockKey |
A key pattern to unlock used byunlockType
|
e.g.,'1111'
|
autoLaunch |
正在自动初始化测试中的应用程序;如果为false,Appium不会安装/启动测试中的应用程序;默认为true
|
true or false
|
skipLogcatCapture |
跳过以开始捕获logcat;它可能会提高性能,如网络;与日志相关的命令将不起作用;默认为false
|
true or false
|
uninstallOtherPackages |
一个包、包列表或* 以在安装apks进行测试之前卸载包'*' 卸载所有第三方软件包,但Appium测试所需的软件包除外,例如io.appium.settings 或者io.appium.uiautomator2.server ,因为Appium已经包含管理它们的逻辑 |
e.g. “io.appium.example”, [“io.appium.example1”, “io.appium.example2”], ‘*’ |
disableWindowAnimation |
如果该值为true ,则将设备动画比例设置为零;会话完成后,Appium将动画比例恢复为原始值;默认为false
|
true , false
|
remoteAppsCacheLimit |
设置推送到被测设备本地存储的最大远程缓存apk数(默认值为10);在使用同一组apk时,远程缓存apk可以加快顺序测试用例的执行,因为每次需要重新安装时都不需要将apk推送到远程文件系统;将此功能设置为0以禁用缓存 |
e.g.0, 5, 20
|
buildToolsVersion |
将Androidbuild-tools 版本指定为与默认版本不同的版本,即使用最新版本;如果您的环境使用alpha/beta构建工具,那么使用非默认版本是很有帮助的 |
e.g. '28.0.3'
|
androidNaturalOrientation |
允许正确处理横向设备的方向;如果设置为true ,则基本上可以翻转肖像和风景的含义;默认为false
|
true , false
|
enforceAppInstall |
默认情况下,如果测试设备上已存在此应用程序的较新或相同版本,则跳过应用程序安装;将此选项设置为true 将强制Appium始终独立于当前安装的应用程序版本安装当前的应用程序版本;默认为false
|
true ,false
|
ignoreHiddenApiPolicyError |
Security exception: Permission denial 并允许从Appium 1.18.0+开始继续会话创建过程;当Appium尝试放宽hidden API策略时,会发生此错误,尽管某些具有自定义固件的设备会拒绝此类请求;默认为false
|
true, false` |
mockLocationApp |
设置应用程序的包标识符,该标识符自Appium 1.18.0+以来用作系统模拟位置提供程序;此功能对模拟器没有影响;如果该值设置为null 或空字符串,则Appium将跳过模拟位置提供程序设置过程;默认为Appium设置包标识符(io.appium.settings.settings ) |
e.g., null, io.appium.settings, example.your.app
|
logcatFormat |
设置自Appium 1.18.0以来logcat消息的输出格式;此处列出了支持的格式; logcat#outputFormat默认threadtime
|
e.g.,process
|
logcatFilterSpecs |
为Appium 1.18.0之后的logcat消息设置输出筛选规则;logcat#filteringOutput ,Write and View Logs with Logcat
|
e.g., ['*:W', 'MyActivity:D'] (MyActivity is a tag)
|
allowDelayAdb |
是否在emulator启动时启用-delay adb ;默认为true
|
true , false
|