您的位置:首页 > 移动开发

Appium 服务命令行参数

2015-09-07 17:51 363 查看
Appium 可以直接通过命令行启动,同样支持命令行参数配置

参考:
http://appium.io/slate/cn/master/
使用方法

例如:

appium --shell


服务器标志

所有的标志都是可选的,但是有一些标志需要组合在一起才能生效。

标志默认值描述例子
--shell
null进入 REPL 模式
--localizable-strings-dir
en.lprojIOS only: 定位 .strings所在目录的相对路径
--localizable-strings-dir en.lproj
--app
nulliOS: 基于模拟器编译的 app 的绝对路径或者设备目标的 bundle_id; Android: apk 文件的绝对路径
--app /abs/path/to/my.app
--ipa
null(IOS-only) .ipa 文件的绝对路径
--ipa /abs/path/to/my.ipa
-U
,
--udid
null连接物理设备的唯一设备标识符
--udid 1adsf-sdfas-asdf-123sdf
-a
,
--address
0.0.0.0监听的 ip 地址
--address 0.0.0.0
-p
,
--port
4723监听的端口
--port 4723
-ca
,
--callback-address
null回调IP地址 (默认: 相同的IP地址)
--callback-address 127.0.0.1
-cp
,
--callback-port
null回调端口号 (默认: 相同的端口号)
--callback-port 4723
-bp
,
--bootstrap-port
4724(Android-only) 连接设备的端口号
--bootstrap-port 4724
-k
,
--keep-artifacts
false弃用,无效。trace信息现在保留tmp目录下,每次运行前会清除该目录中的信息。 也可以参考 –trace-dir 。
-r
,
--backend-retries
3(iOS-only) 遇到 crash 或者 超时,Instrument 重新启动的次数。
--backend-retries 3
--session-override
false允许 session 被覆盖 (冲突的话)
--full-reset
false(iOS) 删除整个模拟器目录。 (Android) 通过卸载应用(而不是清除数据)重置应用状态。在 Android 上,session 完成后也会删除应用。
--no-reset
falsesession 之间不重置应用状态 (iOS: 不删除应用的 plist 文件; Android: 在创建一个新的 session 前不删除应用。)
-l
,
--pre-launch
false在第一个 session 前,预启动应用 (iOS 需要 –app 参数,Android 需要 –app-pkg 和 –app-activity)
-lt
,
--launch-timeout
90000(iOS-only) 等待 Instruments 启动的时间
-g
,
--log
null将日志输出到指定文件
--log /path/to/appium.log
--log-level
debug日志级别; 默认 (console[:file]): debug[:debug]
--log-level debug
--log-timestamp
false在终端输出里显示时间戳
--local-timezone
false使用本地时间戳
--log-no-colors
false不在终端输出中显示颜色
-G
,
--webhook
null同时发送日志到 HTTP 监听器
--webhook localhost:9876
--native-instruments-lib
false(IOS-only) iOS 内建了一个怪异的不可能避免的延迟。我们在 Appium 里修复了它。如果你想用原来的,你可以使用这个参数。
--app-pkg
null(Android-only) 你要运行的apk的java包。 (例如, com.example.android.myApp)
--app-pkg com.example.android.myApp
--app-activity
null(Android-only) 打开应用时,启动的 Activity 的名字(比如, MainActivity)
--app-activity MainActivity
--app-wait-package
false(Android-only) 你想等待的 Activity 的包名。(比如, com.example.android.myApp)
--app-wait-package com.example.android.myApp
--app-wait-activity
false(Android-only) 你想等待的 Activity 名字(比如, SplashActivity)
--app-wait-activity SplashActivity
--android-coverage
false(Android-only) 完全符合条件的 instrumentation 类。 作为命令 adb shell am instrument -e coverage true -w 的 -w 的参数
--android-coverage com.my.Pkg/com.my.Pkg.instrumentation.MyInstrumentation
--avd
null(Android-only) 要启动的 avd 的名字
--avd-args
null(Android-only) 添加额外的参数给要启动avd
--avd-args -no-snapshot-load
--device-ready-timeout
5(Android-only) 等待设备准备好的时间,以秒为单位
--device-ready-timeout 5
--safari
false(IOS-Only) 使用 Safari 应用
--device-name
null待使用的移动设备名字
--device-name iPhone Retina (4-inch), Android Emulator
--platform-name
null移动平台的名称: iOS, Android, or FirefoxOS
--platform-name iOS
--platform-version
null移动平台的版本
--platform-version 7.1
--automation-name
null自动化工具的名称: Appium or Selendroid
--automation-name Appium
--browser-name
null移动浏览器的名称: Safari or Chrome
--browser-name Safari
--default-device
,
-dd
false(IOS-Simulator-only) 使用instruments自己启动的默认模拟器
--force-iphone
false(IOS-only) 无论应用要用什么模拟器,强制使用 iPhone 模拟器
--force-ipad
false(IOS-only) 无论应用要用什么模拟器,强制使用 iPad 模拟器
--language
nulliOS / Android 模拟器的语言
--language en
--locale
nullLocale for the iOS simulator / Android Emulator
--locale en_US
--calendar-format
null(IOS-only) iOS 模拟器的日历格式
--calendar-format gregorian
--orientation
null(IOS-only) 初始化请求时,使用 LANDSCAPE (横屏) 或者 PORTRAIT (竖屏)
--orientation LANDSCAPE
--tracetemplate
null(IOS-only) 指定 Instruments 使用的 tracetemplate 文件
--tracetemplate /Users/me/Automation.tracetemplate
--show-sim-log
false(IOS-only) 如果设置了, iOS 模拟器的日志会写到终端上来
--show-ios-log
false(IOS-only) 如果设置了, iOS 系统的日志会写到终端上来
--nodeconfig
null指定 JSON 格式的配置文件 ,用来在 selenium grid 里注册 appiumd
--nodeconfig /abs/path/to/nodeconfig.json
-ra
,
--robot-address
0.0.0.0robot 的 ip 地址
--robot-address 0.0.0.0
-rp
,
--robot-port
-1robot 的端口地址
--robot-port 4242
--selendroid-port
8080用来和 Selendroid 交互的本地端口
--selendroid-port 8080
--chromedriver-port
9515ChromeDriver运行的端口
--chromedriver-port 9515
--chromedriver-executable
nullChromeDriver 可执行文件的完整路径
--use-keystore
false(Android-only) 设置签名 apk 的 keystore
--keystore-path
(Android-only) keystore 的路径
--keystore-password
android(Android-only) keystore 的密码
--key-alias
androiddebugkey(Android-only) Key 的别名
--key-password
android(Android-only) Key 的密码
--show-config
false打印 Appium 服务器的配置信息,然后退出
--no-perms-check
false跳过Appium对是否可以读/写必要文件的检查
--command-timeout
60默认所有会话的接收命令超时时间 (在超时时间内没有接收到新命令,自动关闭会话)。 会被新的超时时间覆盖
--keep-keychains
false(iOS) 当 Appium 启动或者关闭的时候,是否保留 keychains (Library/Keychains)
--strict-caps
false如果所选设备是appium不承认的有效设备,会导致会话失败
--isolate-sim-device
falseXcode 6存在一个bug,那就是一些平台上如果其他模拟器设备先被删除时某个特定的模拟器只能在没有任何错误的情况下被建立。这个选项导致了Appium不得不删除除了正在使用设备以外其他所有的设备。请注意这是永久性删除,你可以使用simctl或xcode管理被Appium使用的设备类别。
--tmp
null可以被Appium用来管理临时文件的目录(绝对路径),比如存放需要移动的内置iOS应用程序。 默认的变量为
APPIUM_TMP_DIR
,在 *nix/Mac 为
/tmp
在windows上使用环境便令
TEMP
设定的目录。
--trace-dir
null用于保存iOS instruments trace的 appium 目录,是绝对路径, 默认为 /appium-instruments
--intent-action
android.intent.action.MAIN(Android-only) 用于启动 activity 的intent action
--intent-action android.intent.action.MAIN
--intent-category
android.intent.category.LAUNCHER(Android-only) 用于启动 activity 的intent category
--intent-category android.intent.category.APP_CONTACTS
--intent-flags
0x10200000(Android-only) 启动 activity 的标志
--intent-flags 0x10200000
--intent-args
null(Android-only) 启动 activity 时附带额外的 intent 参数
--intent-args 0x10200000
--suppress-adb-kill-server
false(Android-only) 如果被设定,阻止Appium杀掉adb实例。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: