appium-capability参数配置

appium - capability参数

关键字 描述 备注
platformName 使用设备的操作系统 ANDROID 或 IOS
platformVersion 使用设备的操作系统版本 比如 8, 9 ,10等
deviceName 使用的手机类型或模拟器类型 可通过命令行adb devices获得,iPhone Simulator, iPad Simulator, iPhone Retina 4-inch, Android Emulator, Galaxy S4, 等。在 iOS 上,这个关键字的值必须是使用 instruments -s devices 得到的可使用的设备名称之一。在 Android 上,这个关键字目前不起作用
udid 连接的物理设备的唯一设备标识 当需要连接多台设备时区分设备用,可以通过获取devicesname 的方法获得。
automationName 自动化测试引擎 Appium (默认) ,Selendroid, uiautomator2 等
browserName 设备web 浏览器名称 如果是对应用进行自动化测试,这个关键字的值应为空。iOS 系统上可以用 ‘Safari’ ,Android 系统上可以用 ‘Chrome’, ‘Chromium’, 或 ‘Browser’。
newCommandTimeout 设置appium长时间不操作的等待时间,单位:秒。 appium 服务开启会产生session维持会话,但session 有有效期,一段时间没操作后会关闭会话。一些特殊情况这是时间可以设置到一天即86400,但也不能太长,设置太长会到时服务开启失败。
orientation (Sim/Emu-only) 在一个设定的方向模式中开始测试 LANDSCAPE (横向) 或 PORTRAIT (纵向)
autoLaunch Appium是否需要自动安装和启动应用。默认值true true, false
autoWebview 直接转换到 WebView 上下文 默认值 false
noReset 不要在会话前重置应用状态。默认值false。 true, false (建议使用false,app如果登录的话可以保持原来的登录状态)
fullReset (iOS) 删除整个模拟器目录。(Android) 通过卸载——而不是清空数据——来重置应用状态。在 Android 上,这也会在会话结束后自动清除被测应用。默认值 false true, false
resetKeyboard 设置不重置鼠标 true,false
skipServerInstallation 设置不重复安装server包 ture,false 第一次使用时不建议设置

Android特有

关键字 描述 实例
appActivity 你要从你的应用包中启动的 Android Activity 名称 它通常需要在前面添加 . (如:使用.MainActivity 而不是 MainActivity).MainActivity, .Settings
appPackage 你想运行的Android应用的包名 比如com.example.android.myApp, com.android.settings
app app应用安装路径 这里与appPackage,appActivity二选一,与 browserName 冲突
appWaitActivity 你想要等待启动的 Android Activity 名称 SplashActivity
deviceReadyTimeout 设置等待一个模拟器或真机准备就绪的超时时间 5
androidCoverage 用于执行测试的 instrumentation 类,作为命令 adb shell am instrument -e coverage true -w 的-w 参数。 com.my.Pkg/com.my.Pkg.instrumentation.MyInstrumentation
enablePerformanceLogging (仅适用于 Chrome 和 webview) 开启 Chromedriver 的性能日志。 (默认 false) true, false
androidDeviceReadyTimeout 等待设备在启动应用后准备就绪的超时时间。以秒为单位。 如 30
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 true or false
keystorePath 自定义 keystore 的路径。默认: ~/.android/debug.keystore 如 /path/to.keystore
keystorePassword 自定义 keystore 的密码。 如 foo
keyAlias key 的别名 如 androiddebugkey
keyPassword key 的密码 如 foo
chromedriverExecutable webdriver 可执行文件的绝对路径 (如果 Chromium 核心提供了对应的 webdriver,应该用它代替 Appium 自带的 webdriver) /abs/path/to/webdriver
autoWebviewTimeout 以毫秒为单位,等待 Webview 上下文激活的时间。默认值 2000 如 4
intentAction 用于启动 activity 的 intent action。 (默认值android.intent.action.MAIN) 如 android.intent.action.MAIN,android.intent.action.VIEW
intentCategory 用于启动 activity 的 intent category。 (默认值android.intent.category.LAUNCHER) 如 android.intent.category.LAUNCHER,android.intent.category.APP_CONTACTS
intentFlags 用于启动 activity 的标识 ( flags ) (默认值 0x10200000) 如 0x10200000
optionalIntentArguments 用于启动 activity 的额外 intent 参数。请查看 Intent 参数 如 --esn <EXTRA_KEY>, --ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE>
stopAppOnReset 在使用 adb 启动应用前停止被测应用的进程 ( process ) 。如果被测应用是被另一个应用创建的,当这个参数被设定为 false 时,允许另一个应用的进程在使用 adb 启动被测应用时继续存活。默认值 true true 或 false
unicodeKeyboard 使用 Unicode 输入法。默认值false true 或 false
resetKeyboard 在设定了 unicodeKeyboard 关键字的 Unicode 测试结束后,重置输入法到原有状态。如果单独使用,将会被忽略。默认值 false true 或 false
noSign 跳过检查和对应用进行 debug 签名的步骤。只能在使用 UiAutomator 时使用,使用 selendroid 是不行。默认值 false true 或 false
ignoreUnimportantViews 调用 uiautomator 的函数setCompressedLayoutHierarchy()。由于 Accessibility 命令在忽略部分元素的情况下执行速度会加快,这个关键字能加快测试执行的速度。被忽略的元素将不能够被找到,因此这个关键字同时也被实现成可以随时改变的 *设置 ( settings ) * 默认值 false true 或 false
上一篇:RtlAdjustPrivilege提权


下一篇:linux capability 简单记录