云服务器运行appium,appium 服务器初始化参数 Capability

[TOC]

## Appium 服务器初始化参数(Capability)

Desired capabilities是自动化脚本与Appium服务器建立会话时,发送给 Appium 服务器的键值对集合 (比如 map 或 hash),告诉服务器我们想要启动什么类型的自动化会话。

例如,我们可以把 platformName capability 设置为 iOS,告诉 Appium 我们想要 iOS 会话,而不是 Android 或者 Windows 会话。我们也可以设置 safariAllowPopups capability 为 true ,确保我们在 Safari 自动化会话中可以使用 javascript 打开新窗口。

---

### 设置Capability

```python

desired_caps = {

'appPackage': 'com.example.android.contactmanager',

'appActivity': '.ContactManager',

'platformName': 'Android',

'platformVersion': '5.1.1',

'deviceName': 'Android Emulator',

'app': 'D://ContactManager.apk',

'unicodeKeyboard':True,

'resetKeyboard':True

}

driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

```

---

### Capability参数项

| 键 | 描述 | 值 |

|---|---|---|

| automationName | 自动化测试的引擎 | Appium (默认)或者 Selendroid |

| **platformName** | 使用的手机操作系统 | iOS, Android, 或者 FirefoxOS |

| **platformVersion** | 手机操作系统的版本 | 例如 7.1, 4.4 |

| **deviceName** | 使用的手机或模拟器类型 | iPhone Simulator, Android Emulator, Galaxy S4, 等等 |

| **appPackage** | 运行的 Android 应用的包名 | com.example.android.myApp, com.android.settings |

| **appActivity** | Activity 的名字是指从你的包中所要启动的 Android acticity。他通常需要再前面添加`. ` | MainActivity, .Settings |

| **app** | 本地绝对路径_或_远程 http URL 所指向的一个安装包(.ipa,.apk,或 .zip 文件)。如果您指定了 appPackage 和 appActivity 参数(见下文),Android 则不需要此参数了。 | /abs/path/to/my.apk 或 http://myapp.com/app.ipa |

| unicodeKeyboard | 使用 Unicode 输入法。 默认值为 false ,**设置为true后才能输入中文** | true或false |

| resetKeyboard | 在设定了 unicodeKeyboard 关键字的 Unicode 测试结束后,重置输入法到原有状态,默认值为 false | true或false |

| noReset | 在当前 session 下不会重置应用的状态。默认值为 false,设置为true后,不需要每次运行用例都安装apk | true或false |

更多Capability,参考:[http://appium.io/docs/cn/writing-running-appium/caps/index.html](http://appium.io/docs/cn/writing-running-appium/caps/index.html)

---

## 获取appPackage与appActivity

方法一:推荐使用aapt工具,aapt是sdk自带的一个工具,在sdk\build-tools目录下

```cmd

E:\android_sdk\build-tools\25.0.1>aapt dump badging D:\ContactManager.apk

package: name='com.example.android.contactmanager' versionCode='1' versionName='1.0' platformBuildVersionName=''

sdkVersion:'5'

targetSdkVersion:'5'

...

launchable-activity: name='com.example.android.contactmanager.ContactManager' label='Contact Manager' icon=''

..

```

通过本实例,可得知

appPackage = com.example.android.contactmanager

appActivity = com.example.android.contactmanager.ContactManager

---

## 查看当前activity名称

打开APP进入到对应的窗口后,执行命令 `adb shell dumpsys window w |findstr \/ |findstr name=`

```cmd

E:\>adb shell dumpsys window w |findstr \/ |findstr name=

mSurface=Surface(name=com.example.android.contactmanager/com.example.android.contactmanager.ContactAdder)

```

通过上面结果得知,当前的activity名称为“com.example.android.contactmanager.ContactAdder”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值