关键字 | 描述 | 实例 |
---|---|---|
automationName |
你想使用的自动化测试引擎 | Appium (默认) 或 Selendroid |
platformName |
你要测试的手机操作系统 | iOS , Android , 或 FirefoxOS |
platformVersion |
手机操作系统版本 | 例如: 7.1 , 4.4 |
deviceName |
使用的手机类型或模拟器类型 | iPhone Simulator , iPad Simulator , iPhone Retina 4-inch , Android Emulator , Galaxy S4 , 等。在 iOS 上,这个关键字的值必须是使用 instruments -s devices 得到的可使用的设备名称之一。在 Android 上,这个关键字目前不起作用。 |
app |
.ipa or .apk 文件所在的本地绝对路径或者远程路径,也可以是一个包括两者之一的.zip 。 Appium会先尝试安装路径对应的应用在适当的真机或模拟器上。针对Android系统,如果你指定app-package 和app-activity (具体见下面)的话,那么就可以不指定app 。 会与 browserName 冲突 |
比如/abs/path/to/my.apk 或http://myapp.com/app.ipa |
browserName |
需要进行自动化测试的手机 web 浏览器名称。如果是对应用进行自动化测试,这个关键字的值应为空。 | iOS 系统上可以用 'Safari’ ,Android 系统上可以用 ‘Chrome’, ‘Chromium’, 或 ‘Browser'。 |
newCommandTimeout |
设置命令超时时间,单位:秒。达到超时时间仍未接收到新的命令时 Appium 会假设客户端退出然后自动结束会话。 | 比如 60 |
autoLaunch |
Appium是否需要自动安装和启动应用。默认值true |
true , false |
language |
(Sim/Emu-only) 设定模拟器 ( simulator / emulator ) 的语言。 | 如: fr |
locale |
(Sim/Emu-only) 设定模拟器 ( simulator / emulator ) 的区域设置。 | 如: fr_CA |
udid |
连接的物理设备的唯一设备标识 | 如: 1ae203187fc012g |
orientation |
(Sim/Emu-only) 在一个设定的方向模式中开始测试 | LANDSCAPE (横向) 或 PORTRAIT (纵向) |
autoWebview |
直接转换到 WebView 上下文。 默认值 false 、 |
true , false |
noReset |
不要在会话前重置应用状态。默认值false 。 |
true , false |
fullReset |
(iOS) 删除整个模拟器目录。(Android) 通过卸载——而不是清空数据——来重置应用状态。在 Android 上,这也会在会话结束后自动清除被测应用。默认值 false |
true , false |
Android特有
关键字 | 描述 | 实例 |
---|---|---|
appActivity |
你要从你的应用包中启动的 Android Activity 名称。它通常需要在前面添加 . (如:使用.MainActivity 而不是 MainActivity ) |
MainActivity , .Settings |
appPackage |
你想运行的Android应用的包名 | 比如com.example.android.myApp , com.android.settings |
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 |
|