capability 配置参数解析
Capability 简介
-
功能:配置 Appium 会话,告诉 Appium 服务器需要自动化的平台的应用程序
-
形式:键值对的集合,键对应设置的名称,值对应设置的值
-
主要分为三部分
- 公共部分
- ios 部分
- android 部分
Session
- Appium 的客户端和服务端之间进行通信的前提
- 通过
Desired Capabilities
建立会话
公共部分参数配置
键 | 描述 | 值 |
---|---|---|
platformName |
使用的手机操作系统 | iOS,Android,或者 Firefox0S |
platformVersion |
手机操作系统的版本 | 例如 7.1 , 4.4 |
deviceName |
使用的手机或模拟器类型 | iPhone Simulator , iPad Simulator , iPhone Retina 4-inch , Android Emulator , Galaxy S4 , 等等…. 在 iOS 上,使用 Instruments的 instruments -s devices 命令可返回一个有效的设备的列表。在 Andorid 上虽然这个参数目前已被忽略,但仍然需要添加上该参数 |
automationName |
使用哪个自动化引擎 | android 默认使用uiautomator2 ,ios 默认使用XCUTest |
noReset |
在当前 session 下不会重置应用的状态。默认值为 false |
true , false |
udid |
连接的真实设备的唯一设备编号 (Unique device identifier) | 例如 1ae203187fc012g |
Android 部分特有参数配置
键 | 描述 | 值 |
---|---|---|
appActivity |
Activity 的名字是指从你的包中所要启动的 Android acticity。他通常需要再前面添加. (例如 使用 .MainActivity 代替 MainActivity ) |
MainActivity , .Settings |
appPackage |
运行的 Android 应用的包名 | com.example.android.myApp , com.android.settings |
appWaitActivity |
用于等待启动的 Android Activity 名称 | SplashActivity |
unicodeKeyboard |
启用 Unicode 输入,默认为 false | true or false |
resetKeyboard |
true or false |
|
dontStopAppOnReset |
首次启动的时候,不停止 app | true or false |
skipDeviceInitialization |
跳过安装,权限设置等操作 | true or false |
iOS 独有
键 | 描述 | 值 |
---|---|---|
bundleId |
被测应用的 bundle ID 。用于在真实设备中启动测试,也用于使用其他需要 bundle ID 的关键字启动测试。在使用 bundle ID 在真实设备上执行测试时,你可以不提供 app 关键字,但你必须提供 udid 。 |
例如 io.appium.TestApp |
autoAcceptAlerts |
当 iOS 的个人信息访问警告 (如 位置、联系人、图片) 出现时,自动选择接受( Accept )。默认值 false | true 或者 false |
showIOSLog |
是否在 appium 日志中显示从设备捕获的任何日志。默认 false | true or false |
Desire capability 参数示例
- API Demo 启动页配置
{
"platformName": "android",
"deviceName": "emulator-5554",
"appPackage": "io.appium.android.apis",
"appActivity": ".ApiDemos"
}
配置优化
- 添加参数,提高用例的稳定性
{
"noReset": "true", // 不清空缓存信息
"dontStopAppOnReset": "true", // 首次启动的时候,不停止app
"skipDeviceInitialization": "true", // 跳过安装,权限设置等操作
"unicodeKeyBoard": "true" // 输入中文
}
Session Appium 的客户端和服务端之间进行通信的前提 通过 Desired Capabilities 建立会话
Slides
Close
- 霍格沃兹测试开发
- capability 配置参数解析
- 目录
- Capability 简介
- Session
- 公共部分参数配置
- Android 部分特有参数配置
- iOS 独有
- Desire capability 参数示例
- 配置优化