app自动化——capability进阶用法

一、deviceName

  • 只是设备的名字,别名
  • 随便起
  • 不能锁定唯一一个设备

二、uid

  • 多设备选择的时候,要指定 uid
  • 默认读取设备列表的第一个设备
  • 设备列表获取
adb devices

三、newCommandTimeout

newCommandTimeout

  • appium 程序应等待来自客户端的新命令多长时间
  • 超时后==会话删除==
  • 默认 60
  • 设置为 0 禁用
# 五分钟
"newCommandTimeout": 300,

四、PRINT_PAGE_SOURCE_ON_FIND_FAILURE

  • 授予启动的应用程序某些权限

五、autoGrantPermissions

  • 默认为 false
  • 发生任何错误,强制服务器将实际的 XML 页面源转储到日志中.

六、测试策略

  • noReset
  • 默认为false
  • 安卓true
    • 不停止应用程序
    • 不清除应用程序数据
    • 不卸载 apk
  • fullReset
  • 默认为 falsetrue:新会话之前完全卸载被测应用程序
  • 安卓
    • 在会话开始之前(appium 启动 app)和测试之后停止应用程序
    • 清除应用程序数据并卸载 apk
  • dontStopAppOnReset
  • 默认为 false
  • 不希望应用程序在运行时重新启动,设置为 true
#打开的app退出后重新启动
adb shell am start -S 包名/activity名

#打开的app不需要退出,直接使用当前页面
adb shell am start 包名/activity名